C语言程序设计期末考试试题(江西理工)1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、填空题
1. 2. 数学式 所对应的c语言表达式为pow(x, __(1)__)。 已知有声明"char ch='g';",则表达式ch=ch-'a'+'A'的值为字符 (2) G 的编码。 3. 在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768 ~32767,则该变量在内存中占_____(3)_2____个字节。 4. 已知有声明"int a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执 行语句"printf("%d\n",*(p+4));"后的输出结果为__(4)_0__ 。 5. 已知有声明和语句"int a;scanf("a=%d",&a);",欲从键盘上输入数 据使a中的值为3,则正确的输入应是 _____(5)_a=3____ 。 6. C语言源程序中用十六进制表示整型常数必须以___(6)_OX__开 头。 7. 如果一个循环结构的循环体至少要执行一遍,则最适合描述该循 环结构的语句是do while___(7)___语句。 8. 若要声明一个无符号整型变量x,则正确的声明形式是" _unsigned__(8)___ int x;"。 9. 已有声明"int n=12;double a;",则执行语句"a=n/=5;"后,a的 值为___(9)2.000000___。 10. 若有数据类型定义如下: a) union A{float a1;float a2;}; b) 则表达式sizeof(union A)的值为___(10)___。 11. C语言源程序的扩展名为.c,可执行文件的扩展名为 ______(11)__.exe_______。 12. 数组 int a[4][5];共定义了__(12)__20__个数组元素。 13. 若char str[7]={“cake”};int k=strlen(str);则k的值为 ______(13)_5_____。 14. C语言中,用_____(14)__include___ 关键字来包含如stdio.h 之类的头文件。 15. 函数的返回值是通过函数中的_________(15)_return______语 句来获得的。 16. 静态局部变量应该用关键字_____(16)__static_____来进行声 明。 17. 对于不带返回值的函数,应当用关键字 ________(17)_void_____定义函数。
18. 多分支结构的程序,通常选用___(18)___switch___语句来实 现。 19. 若char ch[]="25yi6"有以下语句,则编译后分配给数组ch的内 存占用的字节数为___(19)__7___。 20. 下面运算符 < , ++ = 按照优先级从高到低排列顺序为__ (20)++ <, = _。
{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位,该类型数据的最 大值是__B__。 A.32767 B.32768 C.127 D.65535 14.以下关于if语句和switch语句的叙述中错误的是__D__。 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.以下叙述中错误的是__C___。 A.在函数外可以声明变量 B.变量声明的位置决定了该变量名的使用范围 C.函数调用时在函数内声明的变量所得到的值将无法保存到该函数的 下一次调用 D.在函数外声明的变量,其值可以保存到该程序运行结束 18.已有声明"int t=1;",则执行"printf("%d",(t+5,t++));"时输出结果是 _A___。 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
8
)。
printf("%d ",f(a,3)); printf("%d \n",f(a,2)); } 3. 以下程序运行时输出到屏幕的结果是( 321 54321 )。 #include “stdio.h” void fun(char *p1,char *p2); void main() {int i; char a[]="54321"; puts(a+2); fun(a,a+4); puts(a); } void fun(char *p1,char *p2) {char t; while(*p1) {t=*p1;*p1=*p2;*p2=t; p1+=2,p2-=2; } } 4.下面程序若从键盘输入:Ref6ugcBDT8e,按回车键, 最后的执行 结果是__n=2 m=6_____ #include <stdio.h> void main ( ) { int m=0,n=0; char c; while ( (c=getchar( ) )!='\n' ) { if (c>='a' && c<='z' ) m++ ; if (c>='0' && c<='9') n++; }
三、阅读程序题(每小题5分,共20分)
1. 以下程序运行时输出到屏幕的结果为( #include “stdio.h” #define MAX(A,B) A>B?2*A:2*B void main() {int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d); printf("%d\n",t); } 2. 以下程序运行时输出到屏幕的结果是(5 7 #include “stdio.h” int g(int x,int y) { return x+y; } int f(int x,int y) { {static int x=2; if(y>2) { x=x*x; y=x; } else y=x+1; } return x+y; } void main() {int a=3; printf("%d ",g(a,2)); 10 )。
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的数组元素,则下列选项中错误的 是_C___ 。 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的值 为_A___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c 的值分别为_A___。 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)
printf("n=%d m=%d\n", n,m ); }
四、程序设计题(每题10分,共20分)
1、(10分)从键盘任意输入一个4位数x,编程计算x的每一位 数字相加之和(忽略整数前的正负号)。例如,输入x为 1234,则由1234分离出其千位1、百位2、十位3、个位4,然后 计算1+2+3+4=10,并输出10。
2、(10分)利用公式 = ×…前100项之积计算并打印值。