C语言程序设计试题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计试题1
一、单项选择题
1.C语言规定,在一个源程序中main函数的位置______d___ 。
A.必须在最开始B.必须在最后
C.必须在预处理命令的后面D.可以在其他函数之前或之后
2.以下选项中,_________d__ 是C语言关键字
A.printf B.include C.fun D.default
3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。
A.0 B.3 C.3.5 D.4
4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句
"c=sizeof(p);"后,c的值为__d__
A.1 B.2 C.3 D.4
5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。
A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++
6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。
A.s="Good"; B.s[20l="Good";
C.strcat(s,"Good"); D.strcpy(s,"Good");
7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。
A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3]
8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。
A.3 B.3.0 C.3.89 D.4.0
9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为
__b__。
A.3,1 B.15,12 C.15,1 D.3,12
10.下面的函数定义正确的是_____d________
A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;}
11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。
A.#define P 3.14;
B.#define P(3.14)
C.#define P=3.14;
D.#define P 3.14
12.下列四个选项中,属于C语言关键字的是__c__ 。
A.Float
B.single
C.double
D.real
13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。
A.32767
B.32768
C.127
D.65535
14.以下关于if语句和switch语句的叙述中错误的是B____。
A.if语句和switch语句都可以实现算法的选择结构
B.if语句和switch语句都能实现多路(两路以上)选择
C.if语句可以嵌套使用
D.switch语句不能嵌套使用
15.已有声明"char *s1="China",s2[10],*s3="Nanjing",*s4;",以下字符串赋值语句在执行时可能出现错误的是__A____。
A.strcpy(s3,s1);
B.strcpy(s4,s1);
C.strcpy(s2,s1);
D.strcpy(s2,s3);
16.已有声明"int x=0,*p=&x;",以下语句中有语法错误的是_B____。
A.printf("%d",*x);
B.printf("%d",&x);
C.printf("%d",*p);
D.printf("%d",x);
17.以下叙述中错误的是D_____。
A.在函数外可以声明变量
B.变量声明的位置决定了该变量名的使用范围
C.函数调用时在函数内声明的变量所得到的值将无法保存到该函数的下一次调用
D.在函数外声明的变量,其值可以保存到该程序运行结束
18.已有声明"int t=1;",则执行"printf("%d",(t+5,t++));"时输出结果是_D___。
A.1
B.6
C.2
D.7
19.已有声明"static char *p="Apple";",则执行语句"puts(p+2);"时输出为__D____。
A.Apple
B.Cpple
C.pple
D.ple
20.若i是整型变量,pb是基本型为整型的指针变量,则正确的赋值表达式是(A )
A. pb=&i
B. pb=i
C. *pb=&i
D. *pb=*i
二、填空题
1.数学式3x所对应的c语言表达式为pow(x, __(1)__)。1)3
2.已知有声明"char ch='g';",则表达式ch=ch-'a'+'A'的值为字符 (2) 的编码。
3.在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占_____(3)_____个字节。
4.已知有声明"int a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执行语句"printf("%d\n",*(p+4));"后的输出结果为__(4)___ 。
5.已知有声明和语句"int a;scanf("a=%d",&a);",欲从键盘上输入数据使a中的值为3,则正确的输入应是 _____(5)_____ 。
6.C语言源程序中用十六进制表示整型常数必须以___(6)___开头。
7.如果一个循环结构的循环体至少要执行一遍,则最适合描述该循环结构的语句是
___(7)___语句。
8.若要声明一个无符号整型变量x,则正确的声明形式是" ___(8)___ int x;"。
9.已有声明"int n=12;double a;",则执行语句"a=n/=5;"后,a的值为___(9)___。
10.若有数据类型定义如下: