1、大学C语言考试题库答案单项选择题号:1482执行以下程序段后,输出结果和a的值是()。int a=10; printf(%d,a+);A、 11 和 10B、 11 和 11C、 10 和 11D、 10 和 10答案:C题号:2100已知字符A的ASCH代码值是65,字符变量c1的值是A,c2的值是D.执行语句prin tf(%d,%d,c1,c2-2)后,输出结果是A、 65,66B、 A,BC、 65,68D、 A,68答案:A题号:5055相同结构体类型的变量之间,可以()。A、 比较大小B、 地址相同C、 赋值D、 相加答案:C题号:3217int a10;合法的数组元素的最小下标值
2、为()。A、 1B、 0C、 10D、 9答案:B题号:45能正确表示逻辑关系:a 10或a=0 | a=10 or a=10 & a=10 | a=0答案:D题号:157mai n()int x=1,a=0,b=0;switch (x) case 0: b+;case 1: a+;case 2: a+;b+; printf(a=%d,b=%d,a,b);该程序的输出结果是()A、 2,2B、 2,1C、 1,1D、 1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的 数据类型为()。A、 不确定B、 doubleC、 intD、 float答案:
3、B题号:1647以下程序中,while循环的循环次数是 mai n()int i=0;while(i10)if(ib)=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 = 100);答案:空1
4、:1题号:3255表达式(int)( double)( 5/2)+2.5)的值是 答案:空1:4题号:2472阅读下面程序,程序执行后的输出结果为 。#i nclude stdio.h main ()char a,b;for (a= t) :b= 9;ab;a+,b-) printf (%c%c,a,b ;printf ( n);答案:空1:0918273645题号:937以下程序段的输出结果是 。int i = 0, sum = 1; do sum += i+; while( i y)if(xz)printf (%d,x ; else printf( %d,y ; printf (%dn,z
5、);答案:空1:3程序设计题号:2660/* 【程序设计】功能:计算出k以内最大的10个能被13或17整除的自然数之 和。(k3000)。 */#i nclude #i ncludeco nio.h void bky();int fun(int k)Beg inEndmai n()int m;printf(Enter m:);scan f(%d, &m);printf(nThe result is %dn, fun(m); bky();void bky()FILE *IN,*OUT;int s ;int t;int o;IN=fope n(in. dat,r);if(IN=NULL)prin
6、tf(Read FILE Error);OUT=fope n(out.dat,w);if(OUT=NULL)prin tf(Write FILE Error);for(s=1;s=2)&( b10) if(k%13=0)|(k%17=0) a=a+k;b+;k-;return a;题号:5854C语言中不可以嵌套的是()A、 选择语句B、 循环语句C、 函数调用D、 函数定义答案:D题号:1957C语言中,逻辑真等价于A、 非零的整数B、 大于零的整数C、 非零的数D、 大于零的数答案:C题号:3786用户定义的函数不可以调用的函数是()。A、 本文件外的B、 main函数C、 本函数下面定义
7、的D、 非整型返回值的 答案:B题号:1764以下叙述中正确的是 ()。A、 C程序中注释部分可以出现在程序中任意合适的地方B、 分号是C语句之间的分隔符,不是语句的一部分C、 花括号“和”只能作为函数体的定界符D、 构成C程序的基本单位是函数,所有函数名都可以由用户命名 答案:A题号:299下面四个选项中,均是不合法的浮点数的选项是()。A、-e3.2341e3B、160.0.12e3C、1232e4.2.e5D、-.18123e40.0答案:C题号:6131假定所有变量均已正确定义,下列程序段运行后 x的值是()k1=1;k2=2;k3=3;x=15;if(!k1) x-;else if(
8、k2) x=4;else x=3;A、 15B、 14C、 3D、 4答案:D题号:3208若变量已正确定义,以下程序段的输出结果是 x=5.16894;printf( %fn”(int)(x*1000+0.5)/(float)1000);A、 5.17000B、 输出格式说明与输出项不匹配,输出无定值C、 5.168000D、 5.169000答案:D题号:5043以下选项中合法的实型常数是()。A、 5E2.0B、 1.3EC、 E-3D、 .2E0答案:D题号:5608 有以下程序mai n() int i;for(i=0; ib)=c的值为真。 答案:正确题号:2316while和do
9、 -while循环不论什么条件下它们的结果都是相同的 答案:错误题号:2989char c=Very Good;是一个合法的为字符串数组赋值的语句 答案:正确题号:5034语句scanf(%7.2f,&a)是一个合法的scanf函数。 答案:错误题号:2067如果想使一个数组中全部元素的值为0,可以写成int a10=0*10;答案:错误题号:5263x*=y+8 等价于 x=x*(y+8)。答案:正确题号:3862如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。答案:正确题号:3558整数-32100可以赋值给int型和long int型变量。答案:正确填空题号:5
10、51请写出以下程序的输出结果 。mai n() int a = 100;if( a 100) printf( %dn”a 100); else printf( %dn”a = 100);答案:空1:1题号:1575对以下数学式,写出三个等价的C语言表达式是 、ab?c答案:空1:a/c/b【或】a/(b*c)【或】a/b/c空2:a/c/b【或】a/b/c或a/(b*c)空3:a/b/c【或】a/c/b或a/(b*c)题号:1076表达式3.5 + 1 / 2的计算结果是 。答案:空1:3.5题号:2758和变量的值 。若x为double型变量,请写出运算x = 3.2, +x后表达式的值 答
11、案:空1:4.2空2:4.2题号:582以下程序的执行结果是 。main () int k=8;switch ( k)case 9: k+=1;case 10: k+=1;case 11: k+=1; break; default: k+=1;printf (%dn,k);答案:空1:9题号:2868若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输 入10、20、30、40,正确的输入形式是 。请用代表Enter键。scanf( %d%c%d%c%d%c%c&%c &a, &x,&b, &y, &c, &z, &d);答案:空1:10A20B30C40D题号:
12、4063以下程序段的输出结果是 、 、 、 double a = 513.789215;printf( a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lf”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) ; 答案:空1:16题号:5410以下程序的执行结果是 。mai n()int a, b, *p = & a, *q = &
13、b;a = 10;b = 20;*p = b;*q = a;printf( a = %d, b = %dn”,a, b); 答案:空1:a = 20, b = 20题号:6975以下程序的输出结果是 。mai n() int x = 2; while ( x-); printf( %dn”,x);答案:空1:-1程序设计题号:58/* 【程序设计】功能:将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 */ #i nclude stri ng.h #i nclude void bky();void cha nge(char str) Beg inEndmai n()void cha
14、nge();char str40;gets(str);cha nge(str);puts(str);bky();void bky()FILE *IN,*OUT;char i200;IN=fope n(i n.dat,r);if(IN=NULL)printf(Read FILE Error);OUT=fope n(out.dat,w);if(OUT=NULL)prin tf(Write FILE Error);fscan f(IN,%s,i);cha nge(i);fprin tf(OUT,%sn,i);fclose(IN); fclose(OUT);示例代码:int i;for(i=0;str
15、i!=0;i+) if(stri=a & stri 10或a=0 | a=10 or a=10 & a=10 | a=0答案:D题号:53若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()A、int *p=&x;B、 int p=&x;C、 *p=*x;D、 int *p=x;答案:A题号:2244字符串指针变量中存入的是A、 第一个字符B、 字符串C、 字符串的首地址D、 字符串变量 答案:C题号:3722下列字符数组长度为5的是A、 char c10= h, a, b, c, d;B、 char b= h, a, b, c, d, 0;C、 char a=h, a, b,
16、 c, d;D、 char d6= h, a, b, c, 0 ; 答案:C题号:2703从键盘上输入某字符串时,不可使用的函数是()A、 getchar()B、 sca nf()C、 fread()D、 gets() 答案:A题号:3402以下对整型数组a的正确说明是:A、 int n = 10, an;B、int h;scanf (猛fcn)-irrt an;屮C、ffdefins SIZE Weint a SIZE;D、 int a(10);答案:C题号:130a数组的若char a10 ;已正确定义,以下语句中不能从键盘上给 所有元素输入值的语句是()。A、 scanf(%s,a);B
17、、 for(i=0;i10;i+)ai=getchar();C、 a=getchar();D、 gets(a);答案:C题号:191若有说明语句:char c=72;则变量c ()。A、 说明不合法,c的值不确定B、 包含3个字符C、 包含1个字符D、 包含2个字符答案:C题号:4539以下程序的输出结果是mai n() int i = 1, j = 3;printf( %d”,i+); int i = 0;i += j * 2;printf( %d,%d,i, j );pritnf( %d,%dn,i, j );A、 1,6,3,2,3B、 2,7,3,2,3C、 1,7,3,2,3D、 2
18、,6,3,2,3答案:A题号:300 以下对一维整型数组a的正确说明是()。A、 #define SIZE 10 (换行)int aSIZE;B、 int a(10);C、 int n; seanf(%d,&n); int an;D、 int n=10,an;答案:A判断题号:2691若有int i=10,j=2;则执行完i*=j+8;后i的值为28。答案:错误题号:2067如果想使一个数组中全部元素的值为0,可以写成int a10=0*10;答案:错误题号:1118函数调用语句:func(rec1,rec2+rec3,(ree4,rec5);中,含有的实参个数是5.答案:错误题号:1534C
19、语言所有函数都是外部函数.答案:错误题号:2158#define和printf都不是C语句。答案:正确题号:6321循环结构中的continue语句是使整个循环终止执行答案:错误题号:2583在程序中定义了一个结构体类型后,可以多次用它来定义具有 该类型的变量。答案:正确 题号:3386若有int i =10, j=0;则执行完语句 if (j=0) i + +; else i - -; i 的值为 11。答案:错误 题号:2998c程序总是从程序的第一条语句开始执行 答案:错误 题号:5034语句scanf(%7.2f,&a)是一个合法的scanf函数。答案:错误填空题号:582以下程序的执
20、行结果是 。main ()int k=8; switch (k)case 9: k+=1;case 10: k+=1;case 11: k+=1; break;default: k+=1;printf (%dn,k) 答案:空1:9题号:5171把al、a2定义成单精度实型变量,并赋初值1的说明语句是 。答案:空1:float a1 = 1.0, a2 = 1.0;题号:63以下程序的输出结果是 。#define PR(ar) printf( ar = %d “ar)mai n() int j, a = 1,3, 5, 7, 9, 11, 13, 15, *p = a + 5;for(j =3; j ; j-)switch( j )case1:case2:PR(*p+); break;case3:PR(*(-P);答案:空1:ar=9 ar=9 ar=11题号:3255表达式(int)( double)( 5/2)+2.5)的值是 答案:空1:4题号:10
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1