《C语言程序设计》(3学分)试卷A
- 格式:doc
- 大小:67.50 KB
- 文档页数:8
C语言程序设计考试试卷计算机程序设计课程56 学时 3.5 学分考试形式:闭卷一、选择题(15小题,每小题2分,共计30分)1.下面不正确的字符串常量是 A 。
A)'abc' B)"12'12" C)"0" D)" "2.以下正确的叙述是 DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示D)在C程序中,%是只能用于整数运算的运算符3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 AA)D B)68 C)不确定的值 D)C4.sizeof(float)是 B :A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式5.以下说法正确的是 D :A)输入项可以为一实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:<CR>表示回车)。
int a1,a2; char c1,c2;scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>7.请阅读以下程序:void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");e1se printf("$$$\n");以上程序 D :A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*** D)输出$$$8.下面程序段的运行结果是 C 。
C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
C语言复习资料必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If 是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e 后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
《C语言程序设计》试卷A-带答案一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C) 2ong D) LINE13、以下能正确定义一维数组的是(C)。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};4、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)。
解析:strcpy(str1,str2); 后,str1[] 里是"XYZ", Z 后面有字符串结束符strcpy(str1,str2); 执行后,函数返回的是str1,因为str1[] 里是新值"XYZ", 而strlen(strcpy(str1,str2)) 就是strlen(str1的新值),所以得3。
strlen 统计到字符串结束符以前,即,不计入字符串结束符。
A) 9 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的是(A)。
A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为(C)。
说明:请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分。
试卷中C语言程序的开发环境是VC6。
一、选择题(共20小题,每小题2分,共40分)1.以下正确的C语言自定义标识符是______。
A)_1aB)2a_C)doD)a.122.温度华氏和摄氏的关系是:C= 达式是____。
59(F-32)。
已知:floatC,F;由华氏求摄氏的正确计算的表A)C=5/9(F-32)B)C=5*(F-32)/9C)C=5/9*(F-32)D)三个表达式都正确3.设floatx,由键盘输入:12.45,能正确读入数据的输入语句是_________。
A)scanf("%5.2f",&x)B)scanf("%d",&x);C)scanf("%f",&x);D)scanf("%f",x);4.一个C程序的执行是从()A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束5.判断char型变量c1是否为数字的正确表达式为________。
A)0<=c1<=9B)c1>=0&&c1<=9C),0?<=c1<=?9?D)c1>='0'&&c1<='9'6.switch(表达式)语句中的“表达式”,允许的类型是_________。
A)float,intB)float,int,charC)int,charD)char,double7.设inti,j,x=0;for(i=5;i;i--)for(j=0;j<4;j++)x++;则循环体结束后,x的值为________。
A)5B)20C)25D)死循环8.设x和y均为int型变量,则执行下面的循环后,y值为_________。
C语言复习资料必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If 是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e 后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。
C语言程序设计考试试卷(附答案)C语言程序设计考试试卷(附答案)第一部分:选择题(共40题,每题2分,总分80分)1. 下列哪个关键字用于定义常量?A. constB. intC. staticD. volatile2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数?A. *B. /C. %D. +3. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int x = 2, y = 3;printf("%d", x++ * ++y);}```A. 7B. 8C. 9D. 104. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值?A. <<B. >>C. |D. &5. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *ptr);}```A. 1B. 2C. 3D. 4......40. 下列关于结构体的说法中,错误的是:A. 结构体可以包含不同类型的成员变量B. 结构体可以作为函数参数和返回值C. 结构体可以使用“->”来访问成员变量D. 结构体可以使用“sizeof()”函数获取其大小第二部分:填空题(共10题,每题4分,总分40分)1. 以下是有效的C语言标识符:___hello___2. 下列代码的运行结果是:___88___```c#include <stdio.h>void main() {int x = 8;printf("%d", x++);}```3. 在C语言中,以下是有效的声明:___int i, *p;___4. 下列代码的输出结果是:___10___```c#include <stdio.h>void main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *(ptr + 2));}```5. 在C语言中,以下是合法的函数声明:___void fun(int x, float y);___......第三部分:编程题(共3题,每题20分,总分60分)1. 编写一个函数,接受一个整型数组和数组的长度作为参数,返回数组中的最大值。
长江大学试卷 院(系、部) 专业 班级 姓名 学号 …………….…………………………….密………………………………………封………………..…………………..线…………………………………….. 2007 ─2008 学年 第 1 学期 《 C 语言程序设计 》课程试卷(A 卷) 专业: 年级: 考试方式:闭卷 学分:3.5 考试时间:120 分钟 一、选择题(每小题2分,共26分) 1. 可用作C 语言用户标识的一组标识符( )。
A viod B a3_b3 C For D 2a define _123 -abc DO WORD IF Case sizeof 2. 若变量a,i 已定义,且i 已正确赋值,以下选项中合法的赋值语句是( )。
A a==1 B ++i C a=a++=5 D a=i ÷3 3. 假定w,x,y,z,m 均为int 型变量,则下列程序段运行后,m 的值是( )。
w=1;x=2;y=3;z=4; m=(w>x)?w:x; m=(m>y)?m:y; m=(m>z)?m:z; A 1 B 2 C 3 D 4 4. 若有定义:float w;int a,b;则合法的switch 语句是( )。
A switch(w) B switch(a); { case 1.0: printf(“*\n ”); { case 1 printf(“*\n ”); case 2.0: printf(“*\n ”);} case 2 printf(“*\n ”);} C switch(b) D switch(a+b); case 1 : printf(“*\n ”); { case 1 : printf(“*\n ”); default : printf(“*\n ”); case 2 : printf(“*\n ”); case 1+2 : printf(“*\n ”);} default : printf(“*\n ”);} 5. 以下叙述正确的是( )。
一、选择题(每题1分,共20分)1.设 int b=2;表达式b/(b*2)的值是()。
A. 0B. 0.5C. 0.500000D. 0.000002.下列标识符中不合法的标识符的是()。
A. hot_doB. cat1C. _priD. 2ab3.以下程序的输出结果是()。
void main(){int k=17;printf("%d,%o,%x \n",k,k,k);}A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,114.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()。
A.4 B.16 C.32 D.525.下述程序段中,while循环执行次数是( )。
int k=0;while(k=1) k++;A. 无限次B. 有语法错误,不能执行C. 一次也不执行D. 执行一次6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A. a < > 0B. !aC. a=0D. a!=07.执行下述语句后,*(p+1)的值是( )。
char s[]= “ab”,*p;p=s;A.‘b’B. OC. 不定值D. 非法引用128.有以下语句:int b;char c[10];,则正确的输入语句是( )。
A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);9.能正确表示a 和b 同时为正或同时为负的逻辑表达式是( )。
A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>010.C 语言中的逻辑运算结果,用( )表示逻辑“真”值。
C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序有且仅有一个main( ) 函数。
3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。
4.C语言可以用来实现循环的结构化语句是while、do while、for。
5.数组名表示数组在内存的首地址。
6.int a=3,*p=&a;*p+2的值是5。
二、单项选择题(每小题2分,共70分)1._____是C语言合法的标识符。
(A)3_sy45 (B)su_m (C)@123 (D)3D642.一个程序的执行是从。
(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
(C)本程序的main函数开始,到本程序文件的最后一个函数结束。
(D)本程序文件的第一个函数开始,到main函数结束。
3.以下叙述正确的是。
(A)在C程序中,main函数必须位于程序的最前面。
(B)C程序每行中只能写一条语句。
(C)C语言本是没有输入输出语句。
(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
4.以下叙述不正确的是。
(A)逗号运算符的运算级最低。
(B)ABC和abc是两个不同的变量。
(C)若a和b类型相同,在执行a=b后,b的自身值不变。
(D)‘a’和“a”是完全等价的常量。
5.int x=3,y=2;则表达式x+=x*=y+8的值为。
(A)28 (B)30 (C)60(D)176.在c语言中,变量的隐含存储类别是。
(A)auto (B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。
char c1=98;printf(“%d %c”,c1,c1-32);(A)97 66 (B)98 b (C)b 66 (D)98 B8.执行下面语句后的结果为。
《C语言程序设计》考试试卷(含答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序有且仅有一个main( ) 函数。
3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。
4.C语言可以用来实现循环的结构化语句是while、do while、for。
5.数组名表示数组在内存的首地址。
6.int a=3,*p=&a;*p+2的值是5。
二、单项选择题(每小题2分,共70分)1.__B___是C语言合法的常量。
2.(A).45(B)078 (C)25.6e3.4 (D)‘xy’3.一个程序的执行是从 A 。
4.(A)本程序的main函数开始,到main函数结束5.(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
6.(C)本程序的main函数开始,到本程序文件的最后一个函数结束。
7.(D)本程序文件的第一个函数开始,到main函数结束。
8.以下叙述正确的是 C 。
9.(A)在C程序中,main函数必须位于程序的最前面。
10.(B)C程序每行中只能写一条语句。
11.(C)C语言本是没有输入输出语句。
12.(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
13.以下叙述不正确的是 D 。
14.(A)逗号运算符的运算级最低。
15.(B)ABC和abc是两个不同的变量。
16.(C)若a和b类型相同,在执行a=b后,b的自身值不变。
17.(D)‘a’和“a”是完全等价的常量。
18.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。
19.(A)28 (B)30 (C)60(D)1720.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为B 。
21.(A)2.7 (B)3.7(C)4.7 (D)4.0322.执行下面两个语句后,输出的结果为__D___。
《C语言程序设计》期末考试试卷(A卷)一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( B )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( D )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( B )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( C )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( D )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( A ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( D )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( A )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( D )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( C )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( D ) 。
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1. 一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2. 下列选项中,不能用作标识符的是( )。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_3. 以下定义语句中正确的是( )。
A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4. 设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。
A) a++; B) b++ C) c++; D) d++;5. 以下4个选项中,不能作为一条C语句的是( )。
A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6. 有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。
A) p=1; B) *q=2; C) q=p; D) *p=5;8. 设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9. 若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。
说明: 请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分。
试卷中C 语言程序的开发环境是VC 6。
一、选择题(共20小题,每小题2分,共40分)1. 以下正确的C 语言自定义标识符是______。
A) _1a B) 2a_ C) doD) a.12 2. 温度华氏和摄氏的关系是: C=95(F-32)。
已知:float C,F ;由华氏求摄氏的正确计算的表达式是____。
A) C=5/9(F-32) B) C=5*(F-32)/9C) C=5/9*(F-32) D) 三个表达式都正确3. 设float x ,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A) scanf("%5.2f",&x) B) scanf("%d",&x);C) scanf("%f",&x); D) scanf("%f",x);4. 一个C 程序的执行是从( )A) main()函数开始,直到main()函数结束B) 第一个函数开始,直到最后一个函数结束C) 第一个语句开始,直到最后一个语句结束D) main()函数开始,直到最后一个函数结束5. 判断char 型变量c1是否为数字的正确表达式为 ________。
A) 0<=c1<=9 B) c1>=0 &&c1<=9C) …0‟<=c1<=‟9‟ D) c1>='0'&&c1<='9'6. switch(表达式)语句中的“表达式”,允许的类型是_________。
A) float, int B) float, int, charC) int, char D) char, double7. 设int i,j, x=0;for(i=5;i;i--)for(j=0;j<4;j++)x++;则循环体结束后,x 的值为________。
A) 5 B) 20C) 25 D) 死循环8. 设x 和y 均为int 型变量,则执行下面的循环后,y 值为_________。
for(y=1,x=1;y<=50;y++){if(x>=10)break;if (x%2==1){x+=5;continue;}x-=3;}A) 5 B) 6C) 50 D) 519. 设有数组定义:int a[5];则下列给数组元素赋值错误的是________.A) a[3]=93;B) scanf("%c",a[3]);C) a[3]=a[0]+a[1];D) a[3]='a'+3;10. 若用数组名作为函数调用时的实参,则实际上传递给形参的是________ 。
A) 数组首地址B) 数组的第一个元素值C) 数组中全部元素的值D) 数组元素的个数11. int a[2][3]={{1},{2,3}};,则a[1][1]的值是_________。
A) 0 B) 1C) 2 D) 312. 若定义数组并初始化int b[10]={ 1,2,3,4},以下说法错误的是________A)b[8]的值为0B)b[1]的值为1C)b[3]的值为整数D)b[10]不是b数组中的元素13. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_________。
A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参14. 在C语言中,下列错误的说法是_______。
A) 函数可以递归调用B) 不允许在函数定义中再定义函数C) 递归程序不可能用非递归算法实现D) 对于continue语句,可以通过改变程序的结构而不使用它15. 在一个源文件中定义的全局变量的作用域为( )。
A)本文件的全部范围。
B)本程序的全部范围。
C)本函数的全部范围。
D)从定义该变量的位置开始至本文件结束16. 有以下程序void main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%d",t[2-i][i]);}程序执行后的输出结果是______。
A)753 B)357C)369 D)75117.若有说明float *p,m=3.14;则能正确表示p指向m的赋值语句是________。
A) p=m; B) p=&m; C) *p=m; D) *p=&m;18. 若有下列定义:int a[5],*p=a; 则能正确表示a数组某个元素地址的是______。
A) &a B) p+2C) a++ D) &a[5]19. 若有以下说明,则*(a+a[3])的值为__________。
int a[10]={ 9,1,8,2,7,3,6,4,5,0};A)1 B) 2 C) 8 D) 1120. C语言中,函数返回值的类型是由______决定的。
A) 调用函数时动态决定的B) return语句中的表达式类型C) 调用该函数的主调函数类型D) 定义函数时,所指定的函数类型二、填空题(共7小题10空,每空2分,共20分)1.已知int x=5,y=1,z=2;执行语句x%=y+z;后,x的值是___(1)___。
2.设int a[3][4]={{1,2,3,4},{5,6,7},{8,9}};则表达式a[1][2]+a[2][3]的值是____(2)____。
3. 学生成绩的字每等级和分数范围如下:字母等级分数范圈A 90~100B 80~89C 70~79D 60~69E 0~59其它字母输入错误下列程序输入字母等级之后,输出相应的分数范围。
#include <stdio.h>void main(){char score;scanf("%c",&score);switch(____(3)______){case 'A': printf("A:90~100\n"); break;;case 'B': printf("B:80~89\n");break;case 'C': printf("C:70~79\n");break;case 'D': printf("D:60~69\n");break;case 'E': printf("E:0~59\n");break;____(4)____: printf("输入错误\n");}}4. 设x为int型变量,请写出一个关系表达式____(5)____,用以判断x能同时被3和5整除时,关系表达式的值为真。
5. 对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。
#include <stdio.h>#define N 10void main(){int i,a[N];for(i=N-1;___(6)___;i--)scanf("%d",&a[i]);for(i=0;i<N;i++) printf("%d\t",a[i]);printf("\n");}6. 下面程序的功能是显示具有N个元素的数组s中的最大元素。
#define N 20int fmax(int s[],int n){ int k=s[0],i;for(i=1;i<n;i++)if (____(7)_____) k=s[i] ;return(k);}void main(){ int i,a[N];for(i=0;i<N;i++)scanf("%d",&a[i]);printf("%d\n", ____(8)_____ );//调用函数fmax}7. 若有int a[5]={10,20,30,40,50}, *p=a,*s=a+2;则表达式s-p的值是____(9)_____,*s-*p的值是___(10)______。
三、程序阅读,写出下列程序的运行结果(共10小题,每小题2分,共20分)(下列程序均包括#include"stdio.h")1. void main(){ int x,y;scanf(“%d,%d”,&x,&y);if (x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");}如果输入30,150, 输出为()2. main(){ int a=0,i;for(i=0;i<4;i++){ switch(i){ case 0:case 1:a++;case 2:a+=2;default:a+=3;}}printf("%d\n",a);}3. void main(){ int x,y;scanf("%d",&x);do{y=x%10;printf("%d",y);x/=10;} while(x);}输入整数123454. void main(){ int i=5;for ( ;i<15; ){ i++;if (i%3==0||i%2==0) continue;printf("%d ",i);}}5. void main(){ int a=14, b=63;while (a!=b){while (a>b) a-=b;while (a<b) b-=a;}printf ("%d\n",a);}6. void main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("s=%d",s);}7. int f(int x){return x+3;}void main(){int a=1;while(f(a)<10)a++;printf(“a=%d\n”,a)}8. int f(int b[],int n){ int i,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}void main(){ int x,a[]={1,2,3,4,5,6};x=f(a,3);printf("%d\n",x);}9. funa(int a){ int b=1;static int c=1;a+=c+b;b++;c++;return(a);}void main(){ int i,k=0;for(i=1;i<3;i++)k+=funa(i);printf("%d\n",k);}10. void main(){int a[]={1,2,3,4,5},*p;p=a; (*(p+1))++;printf("%d,%d\n",*p,*(p+1));}四、编程题(共2小题,每小题10分,共20分)1. 请编写程序计算并输出n(包括n)以内能被3或5整除的所有自然数的倒数之和,n从键盘输入值。