搜档网
当前位置:搜档网 › c语言上机考试题及答案

c语言上机考试题及答案

c语言上机考试题及答案

1. 编写一个C程序,实现求两个整数的和,并输出结果。

```c

#include

int main() {

int num1, num2, sum;

printf("请输入两个整数:");

scanf("%d %d", &num1, &num2);

sum = num1 + num2;

printf("两个整数的和为:%d\n", sum);

return 0;

}

```

2. 编写一个C程序,实现从键盘输入一个整数,判断该数是否为质数,并输出结果。

```c

#include

int main() {

int num, i, flag = 0;

printf("请输入一个整数:");

scanf("%d", &num);

for (i = 2; i <= num / 2; i++) {

if (num % i == 0) {

flag = 1;

break;

}

}

if (num == 1) {

printf("1既不是质数也不是合数。\n"); } else {

if (flag == 0) {

printf("%d是质数。\n", num);

} else {

printf("%d不是质数。\n", num);

}

}

return 0;

}

```

3. 编写一个C程序,实现对数组元素进行冒泡排序,并输出排序后的结果。

```c

#include

void bubbleSort(int arr[], int size) {

int i, j, temp;

for (i = 0; i < size - 1; i++) {

for (j = 0; j < size - i - 1; j++) {

if (arr[j] > arr[j+1]) {

temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

int main() {

int arr[] = {5, 2, 8, 3, 1};

int size = sizeof(arr) / sizeof(arr[0]);

int i;

printf("排序前的数组:");

for (i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

bubbleSort(arr, size);

printf("\n排序后的数组:");

for (i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

4. 编写一个C程序,实现计算给定数的阶乘,并输出结果。```c

#include

int factorial(int num) {

if (num == 0 || num == 1) {

return 1;

} else {

return num * factorial(num - 1);

}

}

int main() {

int num;

printf("请输入一个非负整数:");

scanf("%d", &num);

printf("%d的阶乘:%d\n", num, factorial(num));

return 0;

}

```

5. 编写一个C程序,实现查找给定数组中的最大值,并输出结果。```c

#include

int findMax(int arr[], int size) {

int max = arr[0];

int i;

for (i = 1; i < size; i++) {

if (arr[i] > max) {

max = arr[i];

}

}

return max;

}

int main() {

int arr[] = {10, 3, 8, 5, 2};

int size = sizeof(arr) / sizeof(arr[0]);

printf("数组中的最大值:%d\n", findMax(arr, size));

return 0;

}

```

以上是一些常见的C语言上机考试题目及其答案,希望对你的学习

有所帮助。如果你有其他问题或需要更多的题目,可以继续向我提问。

C语言上机练习题及答案

C语言上机练习题及答案 1输入三个整数x,y,z,把这三个数由小到大输出。# include void main() { int x,y,z,a; scanf ("%d,%d,%d",&x,&y,&z); if(x>y) {a=x; x=y;y=a; } if(x>z) { a=x; x=z; z=a; } if(y>z) {a=y; y=z; z=a; } printf("%d,%d,%d\n",x,y,z); } 2输入圆的半径,输出圆的周长和面积。 # include # define PI 3.1415926 # define S ==PI*r*r # define V (4.0/3)*PI*r*r*r void main() { double r; printf("please input r:"); scanf("%lf",&r); printf("area is %.4lf\n",S); printf("volume is %.4lf\n",V); } 输入正方形的边长,输出正方形的周长和面积。

# include void main() { float c,zc,mj; printf("输入你的正方形"); scanf("%f\n",&c); zc=4*c; mj=c*c; printf("周长%f,面积%f,边长%f",zc,mj,c); } 3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。 # include int main() {char-ch1,ch2,ch3; printf("please input three characters:\n"); scanf("%C%C%c",&ch1,&ch2,&ch3); printf("%c\n%d\n",ch3,ch3); printf("%c\n%d\n",ch2,ch2); printf("%c\n%d\n",ch1,ch1); } 输入一个摄氏温度,要求输出华氏温度。公式为f=9/5*c+32。# include void main() { float C,F; scanf("%f",&F); C=5.0/9*(F-32); printf("%8.2f",C); }

c语言上机考试题及答案

c语言上机考试题及答案 1. 编写一个C程序,实现求两个整数的和,并输出结果。 ```c #include int main() { int num1, num2, sum; printf("请输入两个整数:"); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("两个整数的和为:%d\n", sum); return 0; } ``` 2. 编写一个C程序,实现从键盘输入一个整数,判断该数是否为质数,并输出结果。 ```c #include int main() { int num, i, flag = 0;

printf("请输入一个整数:"); scanf("%d", &num); for (i = 2; i <= num / 2; i++) { if (num % i == 0) { flag = 1; break; } } if (num == 1) { printf("1既不是质数也不是合数。\n"); } else { if (flag == 0) { printf("%d是质数。\n", num); } else { printf("%d不是质数。\n", num); } } return 0; }

``` 3. 编写一个C程序,实现对数组元素进行冒泡排序,并输出排序后的结果。 ```c #include void bubbleSort(int arr[], int size) { int i, j, temp; for (i = 0; i < size - 1; i++) { for (j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } int main() { int arr[] = {5, 2, 8, 3, 1};

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案 计算机二级《C语言》上机操作试题及答案 计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。 (1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、c、 D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。 A.12345ABCDE B.EDCBA54321 C.ABCDEl2345 D.54321EDCBA (2)下列叙述中正确的是( )。 A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D.循环队列中元素的个数是由队头指针和队尾指针共同决定的 (3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 A.0(n) B.D(n2) C.O(1092n) D.0(nl092n) (4)下列叙述中正确的是( )。 A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间

不一定是连续的 B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C.顺序存储结构能存储有序表,链式存储结构不能存储有序表 D.链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是( )。 A.控制流 B.事件驱动 C.模块调用 D.数据流 (6)在软件开发中,需求分析阶段可以使用的工具是( )。 A.N—s图 B.DFD图 C.PAD图 D.程序流程图 (7)在面向对象方法中,不属于“对象”基本特点的是( )。 A.一致性 B.分类性 C.多态性 D.标识唯一性 (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。 A.一对一 B.一对多 C.多对一 D.多对多 (9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。 A.人工管理阶段 B.文件系统阶段 C.数据库系统阶段

C语言上机考试编程题以及答案

C语言上机考试编程题以及答案 1、求1+2+3+……….+100。(循环) 答案 #include void main() { int i,sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("%d",sum); } 2、求1*2*3*……….*10。(循环) 答案 void main() { int i=0,j=1; for (i=2;i<=10;i++) { j*=i; } printf("%d",j); return 0; } 3、输入三个数字,输出他们的最大值。(if)答案 #include void main() {int a,b,c,d; scanf("%d,%d,%d",&a,&b,&c);

d=max(a,b,c); printf("max=%d",d); getch();/*暂停看运行结果*/ } int max(int x,int y,int z) {int u; if(x>=y&&x>=z) u=x; else if(y>=x&&y>=z) u=y; else u=z; return(u); 4.用起泡法对十个数据排序(数组实现) 答案 #include main ( ) { int i,j,t; static int a[10]={5,7,4,2,3,6,1,0,9,8}; for(j=0;j<9;j++) { for(i=0;i<9-j;i++) { if(a>a) { t=a;a=a;a=t ; } } } for(i=0;i<10;i++) printf("%2d",a); } 5、输入十个数字,逆序输出。(数组实现)

C语言计算机考试试题及答案

一、单项选择题(每小题2分,共40分) 二、填空题(每空2分,共20分) 三、程序填空题(每小题5分,共20分) 四、编程题(每小题10分,共20分) 1、C 语言源程序文件经过C 编译程序编译连接之后生成一个后缀为(C )的文 件。 A.”.c” B.“.obj” C.“.exe” D.“.bas” 2、以下叙述不正确的是( C )。 A. 一个C 源程序可由一个或多个函数组成 B. 一个C 源程序必须包含一个main 函数 C.在C 程序中,一行只能写一个语句 D.在C 程序中,注释说明对程序功能不产生影响 A.math B.stdio C.main D.abs 6、以下不正确的C 语言标识符是(A )。 A. void B. a3_b3 C. ablexe D. _x 7、以下选项中属于C 语言的数据类型是(C )。 A.复数型 B.逻辑型 C.双精度型 D.集合型 8、若有说明和语句:int a=5; a++; 则此处表达式a++的值是(C )。 A.7 B.6 C.5 D.4 9、在C 语言中,以下叙述不正确的是( A )。 A.在C 程序中,无论是整数还是实数,都能被准确无误的表示 B.在C 程序中,变量名代表存储器中的一个位置 C. C 语言中的变量名只能由字母,数字和下划线三种字符组成 D. C 语言中变量必须先定义后引用 10、设以下变量均为int 类型,则值不等于7的表达式是(C )。 A. (x=y=6,x+y,x+1) B. (x=y=6,x+y,y+1) C. (x=6,x+1,y=6,x+y ) D. (y=6,y+1,x=y,x+1) 3 xn 11、与数学式G 对应的C 语言表达式是(C )。 A. 3*x 八 n/(2*x-1) B. 3*x**n/(2*x-1) C. 3*pow(x,n)*(1/(2*x-1)) 3、一个C 语言程序是由(B )。 A.一个主程序和若干子程序组成 C.若干过程组成 4、用C 语言编写的代码程序(B A.可立即执行 C.经过编译即可执行 5、一个C 语言源程序只有一个函 B. 函数组成 D. 若干子程序组成 )。 B. 是一个源程序 D. 经过编译解释才能执行 那么这个函数的名称为( C )。 D. 3*pow(n,x)/(2*x-1)

c语言上机选择题题及答案

c语言上机选择题题及答案 1、下列字符序列中,不可用作C语言标识符的是(c) A.abc123 B.no_1 C.a!b D._ok_0 2、正确的C语言标识符是(a) A._buy_2 B.2_buy C.?_buy D.buy? 3、不属于C语言关键字的是(D) A.int B.break C.while D.character 4、以下选项中,合法的C语言标识符是(A) A.mon B.2_abc C.3dmax D.A.dat 5、以下选项中,合法的实型常数是(C) A.5E2.0 B.E-3 C.2E02 D.1.3E 6、以下选项中,正确的字符常量是(C) A."F" B.'\\\\'' C.'W' D.''' 7、已知字母A的ASCII码为十进制数65,且S为字符型, 则执行语句S='A'+'6'-'3';后,S中的值为(A) A.'D' B.68 C.不确定的值D.'C' 8、在C语言中,要求运算数必须是整型的运算符是(D) A./ B.++ C.*= D.% 9、若有定义:int m=7; float x=2.5, y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是(A) A.2.500000 B.2.750000 C.3.500000 D.0.000000 10、设变量x为float类型,m为int类型,则以下能实现将x中的数值 保留小数点后两位,第三位进行四舍五入运算的表达式是(B) A.x=(x*100+0.05)/100.0 B.m=x*100+0.5, x=m/100.0 C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0 11、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是(B)

c 上机试题及答案

c 上机试题及答案第一部分:多项选择题 1. 下面哪个选项是正确的? a) A b) B c) C d) D 答案:d) D 2. 在计算机科学中,什么是“算法”? a) 一种计算机语言 b) 一种软件程序 c) 一种解决问题的方法或步骤 d) 一种计算机硬件 答案:c) 一种解决问题的方法或步骤 3. 下面哪个选项是关于二进制的描述? a) 使用0和1进行计算的系统 b) 使用10个数字进行计算的系统 c) 使用英文字母进行计算的系统

d) 使用负数进行计算的系统 答案:a) 使用0和1进行计算的系统 第二部分:填空题 1. 在C语言中,用于在屏幕上输出文本的函数是______。 答案:printf 2. 在计算机领域中,RAM代表______。 答案:Random Access Memory(随机存取存储器) 3. 当一个程序在运行时遇到错误并突然停止时,我们称之为______。答案:运行时错误(Runtime Error) 第三部分:编程题 编写一个C程序,计算并输出1到100之间所有奇数的和。 ```c #include int main(void) { int sum = 0; for (int i = 1; i <= 100; i += 2) { sum += i; }

printf("1到100之间所有奇数的和为:%d\n", sum); return 0; } ``` 答案: 1到100之间所有奇数的和为:2500 第四部分:简答题 1. 请简要解释什么是“数据类型”,并举例说明。 答:数据类型是一种用于定义变量或表达式的特性,包括数据的范围、内存大小和操作。例如,在C语言中,int是一种数据类型,用于定义整数类型的变量,如: ```c int age = 25; ``` 2. 请简要介绍一下C语言的特点。 答:C语言是一种通用、高级的编程语言,具有以下特点: - 结构简洁:C语言的语法相对简单,易于学习和理解。 - 高效性:C语言可以生成高效的机器代码,执行速度快。

C语言程序设计基础上机考试一题目及参考答案

1.输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。2.输入一个字符串,对字符串相同的字符只保留一个(首次出现的字符)。3.找出一个大于给定整数m且紧随m的素数。 4.统计老年人各年龄段(每10岁为一个年龄段)的人数并存到b数组中,n个人员的年龄放在a数组中。 5.计算并输出k以内最大的10个能被13或17整除的自然数之和。 6.读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。 7.求A、B两个整数数组数据的交集,并输出交集的数据。 8.输入若干个整数,且每个数均在1000至9999之间,按照每个数的后三位进行升序排序,若后三位相等,则按照原数据升序排序。 9.将字符串s所有的子串t用“copy”替换,并输出替换后的字符串。 10.判断一个整数是否是回文数。所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。例如:1221,121是回文数。 1.输入一串可能包含空格的字符串,计算该字符串中数字(整数)的个数。 2.删除字符串中的数字字符 3.计算并输出high以内最大的10个素数之和。 4. A,B是两个整数集合,将A中和B相同的数据删除,并输出删除后的集合。 5.计算字符串s中含有字符串t的数目, 并输出。 6.编程实现:在已排好序的字符串中插入一个新的字符串,使插入后仍然有序, 输出插入后的字符串。 7.在三位整数中寻找符合条件的整数,并依次有大到小存入数组,并输出,它 既是完全平方数,又是两位数字相同。 8.判断一个整数是否是回文数。所谓的回文数是指高位到地位与从低位到高位 读取该数,得到的数是相同的数据。例如:1221,121是回文数。 9.找出200以内所有的完数,并输出其因子。一个数若恰好等于它的各因子之 和,称其为完数。例如:6=1+2+3,其中1、2、3为因子,6是因子和。10.统计在字符串str中26个小写英文字母各自出现的次数。 C程序设计基础上机考试一 基本要求:

二级C语言上机真题及答案

1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 1.int fun(int score[],int m,int below[]) {int i,k=0,aver=0; for(i-0;i

C语言上机作业试题5套含答案

第一次上机作业(2021): 要求: 独立完成,上机调试通事后上交 作业提交 邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) 以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。 程序必需采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of is 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: The corresponding Celsius temperature is 4. 计算旅途时刻

输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。

(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。) 例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 试探题:你可否编程找出谁做的好事? 有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。 ⏹A说:不是我。 ⏹B说:是C。 ⏹C说:是D。 ⏹D说:他乱说。 已知三个人说的是实话,一个人说的是谎话。此刻要依照这些信息,找出做了好事的人。 第二次上机作业(2021): 要求: 独立完成,程序必需采用缩进格式,上机调试通事后上交 作业提交 邮件主题命名:班级学号姓名(第2次作业),例如:电1301班2王鹏(第2次作业) 以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。1. 4个数排序 从键盘任意输入4个整数,将其按从小到大顺序排序后输出。 例:输入 5 12 -9 3 输出After ascending sorting: -9 3 5 12 2.求1 + 1/2! +....+ 1/n! 输入正整数n,计算上式前n 项的和(保留 4 位小数)。 例:输入10 输出 1 + 1/2! +....+ 1/10!= 3. 编程计算表达式:data1 op data2 的值。(+ - * / %) 例:输入23+12 输出23+12=35 4. 用二分法求方程2x3-4x2+3x-6=0在(a,b)之间的根。 例:输入Please input the lower and upper boundaries: 3 10 输出No root in this boundary! Please input the lower and upper boundaries: 1 5

VC语言上机试题及答案

C 语言上机考试题20套(试题) C 语言上机考试题(第一套) 1.编写函数fun ,它的功能是:计算并输出下列级数和: ) 1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091 注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #include #include double fun( int n ) { ………… } main() /*主函数 */ { clrscr(); printf(″%f\n ″, fun(10)); } 2.在[10000, 20000]范围内考察个位数字是7的素数, 问: (1) 这样的素数有多少个? (2) 其中最大的一个等于几? 3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。 C 语言上机考试题(第二套) 1.编写函数fun ,它的功能是:计算并输出下列级数和: ) 1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091 注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 试题程序: #include #include double fun( int n )

{ ………… } main() /*主函数 */ { clrscr(); printf(″%f\n″, fun(10)); } 2.回文数是指正读和反读都一样的自然数。例如,8, 121, 5445这三个数都是回文数。求: (1) [1,1000]之内既是回文数,又是素数的最大整数。 (2) [1,1000]以内既是回文数,又是素数的整数有多少个。 3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。比如输入:”How are you”,有3个单词和2个空格。 C语言上机考试题(第三套) 1.编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 例如:当t =1000时,函数值为:1597。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include #include #include int fun( int t) { ………… } main() /*主函数 */ { int n; clrscr(); n=1000; printf(″n = %d, f = %d\n″,n, fun(n)); } 2.先从键盘上输入一个3行3列矩阵元素的值,然后输出主对角线元素平方之和. 3.编程:删除字符串中的数字字符。

全国计算机三级C语言上机题库(附答案)

三级机试题库(附答案) 1、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsV al(),其功能是:依次从数组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数且该数是偶数(该四位数以后不满五个数,则不统计), 则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 2、在文件in.dat中已存有200个正整数, 且每个数均在1000至9999之间。函数readDat()是读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是: 要求按每个数的后三位的大小进行降序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排列,将排序后的前10个数存入数组bb中。最后调用函数writeDat()把结果bb输出到文件out.dat中。 例: 处理前90125099601270258088 处理后50998088702560129012 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 3、函数ReadDat()实现从文件IN.DA T中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组xx所对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 替代关系:f(p)=p*11mod256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量), 如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不变,否则用f(p)替代所对应的字符。 注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 4、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell 中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列, 若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。 提示: 若中间变量为PROtemp, 则可以直接使用结构赋值语句进行解题;产品名称比较请用函数strcmp进行解题。 例如: sell[i] = temp ; 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 5、已知在IN.DA T中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(), 其功能要求: 1.求出这文件中共有多少个正

C语言上机程序设计题库及答案

C语言上机程序设计题库 【程序设计】 功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。【参考代码】 double y=0; y=sin(m)*10; return(y); 功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。 【参考代码】 int i,s=0; for(i=x;i<=y;i+=2) s=s+i; return s; 功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)【参考代码】 int i,j,t; for(i=0; i < 3; i++) for(j=0; j < i; j++) { t=array[i][j]; array[i][j]=array[j][i];

array[j][i]=t; } 功能:求一个四位数的各位数字的立方和。 【参考代码】 int d,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; 功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 【参考代码】 int i,j; for(j=0;j

} 功能:求一组数中大于平均值的数的个数。 【参考代码】 int i,k=0; float s=0,ave; for(i=0;iave)k++; return k; 题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。 【参考代码】 int i; for(i=0;c[i]!='\0';i++) if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z')) a=a+1; else if (c[i]>='0'&&c[i]<='9') num=num+1; else if (c[i]==' ')

C语言上机试题及答案

实验一Visual C++6.0的使用及顺序结构程序设计 一、实验目的 1、掌握启动和退出VC6 的方法。 2、熟悉 VC6 开发环境。 3、初步掌握简单程序的上机操作基本步骤,熟悉 C 单文件程序的输入、编译、链接和运行过程。 4、初步掌握程序的编辑修改和调试。 5、熟练使用赋值运算、算术运算等表达式。 6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。 二、实验内容

1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。请同学们按照下面的实验指导学习VisualC++6.0的使用。 1 .启动 VisualC++6 .0 开发环境 (1)单击开“始”按钮,选择程“序”——〉“Microsoft Visual Studio6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。 (2)单击“结束”按钮,关闭窗口,进入VC6.0 开发环境的主窗口。

2 .使用 Visual C++6.0 对一个 C 程序进行编辑、编译、连接和运行。 ⑴分析 Visual C++6.0 中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。 ⑵步骤 ①编辑

图 1-1 New 对话框 编辑是将 C 源程序输入计算机的过程。在Visual C++6.0 主界面下,点击File 菜单,选择Ne w 菜单项,即可出现New 对话框,如图1-1 所示。在弹出窗口中的Files 标签页下,选择C++ Sour ce File。在选项卡右面的File 编辑框里输入文件名如“Exa.c”,在 Location 编辑框里输入文件路径, 2

C语言考试题库及答案

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a 14、以下程序的输出结果是____D_____. #include void main() { int x=10,y=10; printf("%d %d\n",x--,--y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9

c语言上机选择题题及标准答案

c语言上机选择题题及答案

————————————————————————————————作者:————————————————————————————————日期: 2

1、下列字符序列中,不可用作C语言标识符的是(c) A.abc123 B.no_1 C.a!b D._ok_0 2、正确的C语言标识符是(a) A._buy_2 B.2_buy C.?_buy D.buy? 3、不属于C语言关键字的是(D) A.int B.break C.while D.character 4、以下选项中,合法的C语言标识符是(A) A.mon B.2_abc C.3dmax D.A.dat 5、以下选项中,合法的实型常数是(C) A.5E2.0 B.E-3 C.2E02 D.1.3E 6、以下选项中,正确的字符常量是(C) A."F" B.'\\'' C.'W' D.''' 7、已知字母A的ASCII码为十进制数65,且S为字符型, 则执行语句S='A'+'6'-'3';后,S中的值为(A) A.'D' B.68 C.不确定的值D.'C' 8、在C语言中,要求运算数必须是整型的运算符是(D) A./ B.++ C.*= D.% 9、若有定义:int m=7; float x=2.5, y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是(A) A.2.500000 B.2.750000 C.3.500000 D.0.000000 10、设变量x为float类型,m为int类型,则以下能实现将x中的数值 保留小数点后两位,第三位进行四舍五入运算的表达式是(B) A.x=(x*100+0.05)/100.0 B.m=x*100+0.5, x=m/100.0 C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0 11、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是(B) A.7 B.8 C.6 D.2 12、已知s是字符型变量,下面不正确的赋值语句是(B) A.s='\012'; B.s= 'u+v'; C.s='1'+'2'; D.s=1+2; 13、设x、y均为float型变量,则不正确的赋值语句是(C) A.++x ; B.x*=y-2; C.y=(x%3)/10; D.x=y=0; 14、putchar函数可以向终端输出一个(D) A.整型变量表达式值。B.字符串 C.实型变量值。D.字符 15、以下程序段的输出结果是(C) int a=12345; printf(”%2d\n”, a); A.12 B.34 C.12345 D.提示出错、无结果16、有如下程序段,从键盘输入数据的正确形式应是(B) (注:└┘代表空格) float x,y,z; scanf(“x=%d,y=%d,z=%d”,&a,&y,&z); A.123 B.x=1,y=2,z=3 C.1,2,3 D.x=1└┘y=2└┘z=3

相关主题