大学C语言考试题库答案.doc_第1页
大学C语言考试题库答案.doc_第2页
大学C语言考试题库答案.doc_第3页
大学C语言考试题库答案.doc_第4页
大学C语言考试题库答案.doc_第5页
已阅读5页,还剩49页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.单项选择=题号: 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、0 C、10D、9答案:B题号: 45能正确表示逻辑关系: a 10或a 0 的C语言表达式是A、a=0 | a=10 or a=10 & a=10 | a=0答案:D题号:157 main()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,2 B、2,1C、1,1D、1,0 答案:B题号:4784设变量a是整型,f 是实型,i 是双精度型,则表达式 10+a+i*f 值的数据类型为()。A、不确定 B、doubleC、intD、float答案:B题号:1647以下程序中, while 循环的循环次数是 _main()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: 1题号:3255表达式( int )(double )(5/2 )+2.5 )的值是_.答案:空 1: 4题号:2472阅读下面程序,程序执行后的输出结果为 _。#include stdio.hmain()char a,b;for (a=0,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 );.答案:空 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 ; int t;int o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read FILE Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(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、本函数下面定义的D、非整型返回值的答案:B题号:1764以下叙述中正确的是 ()。A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符 , 不是语句的一部分C、花括号 “和 ”只能作为函数体的定界符D、构成C程序的基本单位是函数 , 所有函数名都可以由用户命名答案: A 题号:299下面四个选项中,均是不合法的浮点数的选项是()。A、-e3 .234 1e3.B、160. 0.12 e3C、123 2e4.2 .e5D、-.18 123e4 0.0答案: C题号:6131假定所有变量均已正确定义,下列程序段运行后 x的值是()。k1=1;k2=2;k3=3;x=15; if(!k1) x-;else if(k2) x=4;else x=3; A、15 B、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-3 D、.2E0答案: D 题号:5608有以下程序main(). int i;for(i=0; ib)=c 的值为 真 。答案:正确题号: 2316while 和do 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 型变量。答案:正确填空.=题号:551请写出以下程序的输出结果 _。 main() int a = 100;if( a 100) printf( “%dn”, a 100);else printf( “%dn”, a = 100);答案: 空 1: 1题号:1575对以下数学式,写出三个等价的 C语言表达式是 _、_、_a b 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.6题号:2758若x为double 型变量,请写出运算 x = 3.2, +x后表达式的值 _和变量的值 _。答案:空 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%”, d&%wc, &a, &x,&b, &y, &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 ); 答案:空 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#include 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 FILE Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write FILE Error);fscanf(IN,%s,i);change(i); fprintf(OUT,%sn,i);fclose(IN);fclose(OUT); 示例代码:int i;for(i=0;stri!=0;i+)if(stri=a & stri=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, c, d;D、char d6= h, a, b, c, 0 ;答案:C题号:2703从键盘上输入某字符串时,不可使用的函数是()。A、getchar()B、scanf()C、fread()D、gets() 答案:A题号:3402以下对整型数组 a的正确说明是:A、int n = 10, an;B、.C、D、int a(10);答案:C题号:130若char a10; 已正确定义,以下语句中不能从键盘上给 a数组的所有元素输入值的语句是()。A、scanf(%s,a);B、for(i=0;i c)b = a; a = c; c = b;答案:空 1:3空 2: 2空 3:2题号:3925阅读下面程序,则执行后程序的结果为 _。#include stdio.hmain()int a=0,b=0; while (a15)a+;while (b+15);printf (%d,%dn,a,b );答案:空 1:15, 16题号:4473有以下程序段:s = 1.0;for(k = 1; k = n; k+)s = s + 1.0 / (k * (k + 1);printf( “%fn”, s);请填空,使下面的程序段的功能完全与之等同。s = 0.0;_;k = 0;.do s += d;_; d = 1.0 / (k * (k + 1);while(_ );printf( “%fn”, s);答案:空 1:d = 1.0空 2: k+ 空 3:k = n题号:6975以下程序的输出结果是 _。 main() int x = 2;while ( x- );printf( “%dn”, x); 答案: 空 1:-1题号:4423下列程序的功能是输入一个整数, 判断其是否是素数, 若为素数输出 1,否则输出0.请填空。main() int i, x, y=1;scanf (%d, &x );for (i=2; i= _; i+ ) if_ y=0; break; printf (%dn, y );答案:空 1:x / 2.空 2:!(x % i) 【或】 x % i = 0程序设计=题号:788/*-【程序设计】-题目:用 while 语句求1100的累计和。-*/void bky();int fun(int n)/*Begin*/* End */void main()int sum = 0;sum=fun(100);printf (sum = %dn, sum);bky();.void bky()FILE *IN,*OUT;int i;int iIN,iOUT;IN=fopen(in.dat,r);if(IN=NULL)printf(Please Verify The Currernt Dir.it May Be Changed);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i5;i+)fscanf(IN,%d,&iIN);iOUT=fun(iIN);fprintf(OUT,%dn,iOUT); fclose(IN);fclose(OUT);示例代码:int i=1,sum=0;while(ic)b=a;a=c;c=b; 则c的值为()。A、3 B、2C、不一定D、1.答案: B题号:961C语言中 while 和 do-while 循环的主要区别是()。A、while 的循环控制条件比 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通过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后表达式的值 _和变量的值 _。答案:空 1: 4.2 空 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)printf (%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 */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;.题号: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、3 D、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 a = 25;prtv(&a);A、24B、26C、23 D、25答案:B.题号:6988以下程序的输出结果是main() int a = 2, b =5;printf( “a=%d,b=%d”,na , 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、赋值运算符 逻辑运算符 关系运算符 算术运算符C、算术运算符 关系运算符 赋值运算符 逻辑运算符D、逻辑运算符 关系运算符 算术运算符 赋值运算符答案:B题号:333下列语句的结果是()。main() int j;j=3;printf(%d,+j);printf(%d,j+);A、3,4B、4,4C、4,3.D、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/4 的值是()。A、3.500000 B、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的二进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论