《大学C语言考试题库(含答案)》由会员分享,可在线阅读,更多相关《大学C语言考试题库(含答案)(53页珍藏版)》请在人人文库网上搜索。

1、单项选择=题号:1482执行以下程序段后,输出结果和a的值是()。 int a=10; printf(%d,a+);A、11 和 10B、11 和 11C、10 和 11D、10 和 10答案:C题号:2100已知字符A的ASC代码值是65,字符变量c1的值是A,c2的值是D.执行语句printf(%d,%d,c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a10;合法的数组元素的最小下标值为()。A、1B、0C、10D、9答案:B题。

2、号:45能正确表示逻辑关系: a10或a0 的C语言表达式是A、a=0 | a=10 or a=10 & a=10 | ab)=c 的值为真。答案:正确题号:66若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。答案:正确题号:758若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。答案:错误题号:2158#define 和printf 都不是C语句。答案:正确题号:5102关系运算符 100) printf(“%dn”, a 100);else printf(“%dn”, a y)if(xz。

3、)printf(%d,x);else printf(%d,y);printf(%dn,z);答案:空 1:3程序设计=题号:2660/*-【程序设计】-功能:计算出k以内最大的10个能被13或17整除的自然数之和。(k3000)。-*/#include #includeconio.hvoid bky(); int fun(int k)/*Begin*/* End */main() int m;printf(Enter m: );scanf(%d, &m);printf(nThe result is %dn, fun(m);bky(); void bky()FILE *IN,*OUT;int s。

4、 ;int t;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read );OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write ); for(s=1;s=2)&(bb)=c 的值为真。答案:正确题号:2316while和dowhile循环不论什么条件下它们的结果都是相同的.答案:错误题号:2989char c=Very Good; 是一个合法的为字符串数组赋值的语句。答案:正确题号:5034语句scanf(%7.2f,&a);是一个合法的scanf函数。答案:错误题号:2067如果想使一个数组中全部元素的值为0,可。

5、以写成 int a10=0*10;答案:错误题号:5263x*=y+8 等价于 x=x*(y+8)。答案:正确题号:3862如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。答案:正确题号:3558整数 -32100可以赋值给int型和long int型变量。答案:正确填空=题号:551请写出以下程序的输出结果_____。main() int a = 100;if( a 100) printf(“%dn”, a 100);else printf(“%dn”, a 代表Enter键。scanf(“%d%c%d%c%d%c%d%c”, &w, &a, &x,&b, &y, &。

6、c, &z, &d);答案:空 1:10A20B30C40D题号:4063以下程序段的输出结果是_____、_____、_____、_____ double a = 513.789215;printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lfn”, a, a, a, a);答案:空 1:a = 513.789215空 2:a = 513.79空 3:a = 513.78921500空 4:a = 513.78921500题号:5076以下程序的输出结果是_____。main() int a=0;a+=(a=8);printf(%dn,a); 。

7、答案:空 1:16题号:5410以下程序的执行结果是_____。main()int a, b, *p = &a, *q = &b;a = 10;b = 20;*p = b;*q = a;printf(“a = %d, b = %dn”, a, b);答案:空 1:a = 20, b = 20 题号:6975以下程序的输出结果是_____。main() int x = 2;while ( x- );printf(“%dn”, x);答案:空 1:-1程序设计=题号:58/*-【程序设计】-功能:将字符串中的小写字母转换为对应的大写字母,其它字符不变。-*/#include string.h#in。

8、clude void bky(); void change(char str)/*Begin*/* End */main()void change();char str40;gets(str);change(str);puts(str);bky();void bky()FILE *IN,*OUT;char i200;IN=fopen(in.dat,r);if(IN=NULL)printf(Read );OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write );fscanf(IN,%s,i);change(i);fprintf(OUT,%sn,i);fclo。

9、se(IN);fclose(OUT);示例代码:int i;for(i=0;stri!=0;i+)if(stri=a & stri=0 | a=10 or a=10 & a=10 | a c)b = a; a = c; c = b;答案:空 1:3空 2:2空 3:2题号:3925阅读下面程序,则执行后程序的结果为_____。#include stdio.hmain()int a=0,b=0;while(ac)b=a;a=c;c=b;则c的值为()。A、3B、2C、不一定D、1答案:B题号:961C语言中 while 和 do-while 循环的主要区别是()。A、while的循环控制条件比 。

10、do-while的循环控制条件更严格B、do-while 的循环体至少无条件执行一次C、do-while 的循环体不能是复合语句D、do-while 允许从外部转到循环体内答案:B判断=题号:3927两个字符串中的字符个数相同时才能进行字符串大小的比较答案:错误题号:51247&3+12的值是15。答案:错误题号:3721语句 printf(%f%,1.0/3);输出为 0.333333。答案:错误题号:3862如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。答案:正确题号:6755若i =3,则printf(%d,-i+);输出的值为 -4。答案:错误题号:4579通。

11、过return语句,函数可以带回一个或一个以上的返回值。答案:错误题号:2440int i,*p=&i;是正确的C说明。答案:正确题号:4678a=(b=4)+(c=6) 是一个合法的赋值表达式。答案:正确题号:6288十进制数15的二进制数是1111.答案:正确题号:464若 a=3,b=2,c=1 则关系表达式(ab)=c 的值为真。答案:正确填空=题号:2713以下程序段的输出结果是_____。printf(“%dn”, strlen(“sn0160end”);答案:空 1:3题号:2758若x为double型变量,请写出运算x = 3.2, +x后表达式的值_____和变量的值____。

12、_。答案:空 1:4.2空 2:4.2题号:3121若有定义:int a=8,b=5,c 执行语句c=a/b+0.4后,c的值为_____答案:空 1:1题号:4474当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。答案:空 1:65535空 2:-32768空 3:1111 1111 1111 1111,1000 0000 0000 0000题号:4683若从键盘输入58,则以下程序输出的结果是_____。main()int a;scanf%d,&a);if(a50)printf(%d,a);if(a40)p。

13、rintf(%d,a);if(a30)printf(%d,a);答案:空 1:585858题号:1262请写出与以下表达式等价的表达式是 A)_____B)_____。A)!(x0) B)!0答案:空 1:x 2题号:2211在C语言程序中,用关键字_____定义基本整型变量,用关键字_____定义单精度实型变量,用关键字_____定义双精度实型变量。答案:空 1:int空 2:float空 3:double程序设计=题号:4003/*-【程序设计】-功能:求一个四位数的各位数字的立方和-*/#include void VV();int fun(int n)/* Begin */* End *。

14、/main()int k;k=fun(1234);printf(k=%dn,k);VV();void VV()FILE *IN,*OUT;int iIN,iOUT,i;IN=fopen(22.IN,r);if(IN=NULL)printf(Please Verify The Currernt Dir.it May Be Changed);OUT=fopen(22.out,w);if(OUT=NULL)printf(Please Verify The Current Dir. it May Be Changed);for(i=0;i0)d=n%10;s+=d*d*d;n/=10;return s。

15、;题号:6991以下程序的执行结果是________.main() int w = 1, x = 2, y = 3, z = 4;w =( w x ) ? x : w; w =( w y ) ? y : w; w =( w z ) ? z : w;printf( %d , w );A、2B、4C、3D、1答案:B题号:5467若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。A、n=*q;B、p=q;C、p=n;D、*p=*q;答案:C题号:5820以下程序的输出结果是void prtv(int *x) printf(“%dn”, +*x); main() int 。

16、a = 25;prtv(&a);A、24B、26C、23D、25答案:B题号:6988以下程序的输出结果是main() int a = 2, b =5;printf(“a=%d,b=%dn”,a, b);A、a=%2,b=%5B、a=%d,b=%dC、a=%d,b=%dD、a=2,b=5答案:C题号:6976语句printf(abrehiyboun);的输出结果是(说明:b是退格符)()。A、abrehiybouB、rehiyouC、abrehiybouD、abrehiybou答案:B题号:166以下关于运算符优先顺序的描述中正确的是()。A、关系运算符算术运算符赋值运算符逻辑运算符B、赋值运。

17、算符逻辑运算符关系运算符算术运算符C、算术运算符关系运算符赋值运算符逻辑运算符D、逻辑运算符关系运算符算术运算符赋值运算符答案:B题号:333下列语句的结果是()。main() int j;j=3;printf(%d,+j); printf(%d,j+);A、3,4B、4,4C、4,3D、3,3答案:B题号:457设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A、6.000000B、5.500000C、6D、6.500000答案:A题号:523若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2。

18、/4的值是()。A、3.500000B、0.000000C、2.750000D、2.500000答案:D题号:855若有以下程序段:int a=3,b=4; a=ab;b=ba;a=ab;则执行以上语句后,a和b的值分别是()。A、a=4,b=4B、a=3,b=3C、a=3,b=4D、a=4,b=3答案:D判断=题号:1325若有说明int c;则while(c=getchar();是正确的C语句。答案:正确题号:478C语言中%运算符的运算对象必须是整型.答案:正确题号:2998c程序总是从程序的第一条语句开始执行.答案:错误题号:3246假设有int a10, *p;则p=&a0与p=a等价答案:正确题号:2158#define 和printf 都不是C语句。答案:正确题号:1498C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。答案:正确题号:6288十进制数15的二进制数是1111.答案:正确题号:5263x*=y+8 等价于 x=x*(y+8)。答案:正确题号:2691若有 int i=10,j=2;则执行完i*=j+8;后的值为28。答案:错误题号:5102关系运算符= 与 = 的优先级相同。答案:错误填空。

更多推荐