C语言期中考试试题及答案
- 格式:doc
- 大小:26.50 KB
- 文档页数:6
大学计算机专业《C语言程序设计》期中试卷及答案试卷编号:9689所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:92C语言中的字符变量用保留字【1】来说明.答案:=======(答案1)=======char第2题(1.0分)题号:433已知x=3,y=2,则表达式x*=y+8的值为【1】.答案:=======(答案1)=======30第3题(1.0分)题号:388设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.答案:=======(答案1)=======1.0=========或=========1第4题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第5题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:=======(答案1)=======9,10第6题(1.0分)题号:498c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:=======(答案1)=======循环第7题(1.0分)题号:100已知a=13,b=6, a||b的十进制数值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:441设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:=======(答案1)=======1第10题(1.0分)题号:389设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案:=======(答案1)=======10第11题(1.0分)题号:421若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第12题(1.0分)题号:533设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);答案:=======(答案1)=======3第13题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======第14题(1.0分)题号:346合并字符串的库函数是【1】,只写函数名即可.答案:=======(答案1)=======strcat第15题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6二、判断共15题(共计15分)第1题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量.答案:Y第2题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double答案:Y第3题(1.0分)题号:928C程序中的关键字必须小写.答案:Y第4题(1.0分)题号:194若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句.答案:Y第6题(1.0分)题号:716若i =3,则printf("%d",-i++);输出的值为 -4.答案:N第7题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符.答案:Y第8题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第9题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第10题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第11题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:926任何数组的下标都是从0开始;答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2004下列字符序列中,不可用作C语言标识符的是().A:b70B:#abC:symbolD:a_1答案:B第2题(2.0分)题号:2137下列表达式中,可作为C合法表达式的是().A:[3,2,1,0]B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第3题(2.0分)题号:2037若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6fB:16 70C:15 71D:16 6f答案:D第4题(2.0分)题号:2043已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A:b,cB:a--运算不合法,故有语法错C:98,cD:格式描述和输出项不匹配,输出无定值答案:C第5题(2.0分)题号:2128下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82B:213.83C:213D:3.8答案:C第6题(2.0分)题号:2222语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bouB:a\bre\'hi\'y\bouC:re'hi'youD:abre'hi'y\bou答案:C第7题(2.0分)题号:2028假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是().A:7B:8C:9D:2答案:B第8题(2.0分)题号:2145int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为().A:3B:2C:1D:0答案:C第9题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B第10题(2.0分)题号:2136下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);A:7B:9C:63D:49答案:C第11题(2.0分)题号:2319在C语言中,要求运算数必须是整型的运算符是(). A:^B:%C:!D:>答案:B第12题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第13题(2.0分)题号:2123设j和k都是int类型,则for循环语句().for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第14题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第15题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第16题(2.0分)题号:2147while(fabs(t)<1e-5)if(!(s/10))break;循环结束的条件是(). A:t>=1e-5||t<=-1e-5||s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第18题(2.0分)题号:2280若有说明 int a[3][4];则对a数组元素的正确引用是().A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第19题(2.0分)题号:2269以下不正确的定义语句是().A:double x[5]={2.0,4.0,6.0,8.0,10.0};B:int y[5]={0,1,3,5,7,9};C:char c1[]={'1','2','3','4','5'};D:char c2[]={'\x10','\xa','\x8'};答案:B第20题(2.0分)题号:2074下列语句中,不正确的是().A:static char a[2]={1,2};B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'};D:static char a[2]={'1'};答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:24/*------------------------------------------------------- 【程序填空】---------------------------------------------------------题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。
大一c语言期中考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体类型的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. ==答案:C3. 在C语言中,用于定义一个函数的关键字是()。
A. intB. voidC. returnD. function答案:B4. 下列哪个选项不是C语言中合法的变量名?()A. _nameB. name_2C. 2nameD. name答案:C5. 在C语言中,用于表示逻辑“与”的运算符是()。
A. &&B. ||C. !D. ^答案:A6. 下列哪个选项是C语言中的控制语句?()A. ifB. switchC. caseD. all of the above答案:D7. C语言中,用于定义一个字符常量的是()。
A. 'a'B. "a"C. aD. a答案:A8. 在C语言中,用于表示“不等于”的运算符是()。
A. ==B. !=C. =D. ==答案:B9. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C10. 在C语言中,用于定义一个整型数组的语法是()。
A. int arr[10];B. int arr=10;C. int arr[];D. int [10] arr;答案:A二、填空题(每题2分,共20分)1. C语言中,用____关键字定义一个全局变量。
答案:extern2. 一个C语言程序的执行从____函数开始。
答案:main3. C语言中,用于声明一个指针变量的语法是____。
答案:int *p;4. C语言中,____运算符用于取地址。
答案:&5. C语言中,____运算符用于解引用指针。
C语言程序设计期中考试卷一、选择题1.下面程序段的运行结果是 ..forx=3; x<6; x++ printfx%2 “%d”: “%d\n”; x;A.3 4 5B.345C.345D.3452.下面程序的运行结果是 .. include<stdio.h>int main{int i;fori=1; i<=5; i++switchi%5{case 0: printf"";break;case 1: printf"";break;default: printf"\n";case 2: printf"&";} return 0;}A.&&& B.& & &C.&&&D.&3.下面程序的功能是求算式xyz+yzz=532中的x;y;z的值其中xyz和yzz分别表示一个三位数;请选择填空..include <stdio.h>int main{ int x;y;z;I;result=532;forx=1;x<10;x++fory=1;y<10;y++for ; z<10; z++{ i=100x+10y+z+100y+10z+z;ifprintf“x=%d;y=%d;z=%d\n”;x;y;z;}return 0;}A1.z=x B1.z=1 C1.z=0 D1.z=yA2.i/result==1 B2.i=result C2.i=result D2.i==result 4.以下正确的描述是 ..A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出;只能使用goto语句5.在下面的程序中; ..include<stdio.h>int main{int t;x;fort=1;t<=100;t++{scanf"%d";&x;ifx<0 continue;printf"%3d";t;}return 0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数6.与下面程序段等价的是 ..forn=100; n<=200; n++{ ifn%3==0 continue;printf“%4d”;n;}A.forn=100; n%3 && n<=200; n++ printf“%4d”;n; B.forn=100; n%3 || n<=200; n++ printf“%4d”;n; C.forn=100; n<=200; n++ ifn%3=0 printf“%4d”;n; D.forn=100; n<=200; n++{ifn%3 printf“%4d”;n;else continue;break;}7.下面程序的运行结果是 ..include <stdio.h>int main{ int a;b;for a=1; b=1; a<=100; a++{ ifb>=20 break;ifb%3= =1 {b+=3;continue;}b - =5;}printf“%d\n”;a;return 0;}A.7 B.8 C.9 D.10二、填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数;用换行符结束循环..请填空..int n=0; c;c=getchar ;while{ if n++;c=getchar}2. 有1020个西瓜;第一天卖一半多两个;以后每天卖剩下的一半多两个;下面的程序统计买完所需的天数;请填空..include <stdio.h>int main{ int day=0; x1=1020; x2;while{ x2= ;x1=x2;day++;}printf“day=%d\n”;day;return 0;}3. 当运行以下程序时;从键盘键入right<回车>;则下面程序的运行结果是 ..include<stdio.h>int main{char c;whilec=getchar ='' putchar++c;putchar'\n';return 0;}4. 下面程序的运行结果是 ..include<stdio.h>int main{int a=2;s=0;n=1;count=1;whilecount<=7 {n=na;s=s+n;++count;}printf"s=%d\n";s;return 0;}5. 当运行以下程序时;从键盘输入“China<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{int v1=0;v2=0; char ch;whilech=getchar =''switchch{case 'a':case 'h':default: v1++;case 'o': v2++;}printf"%d;%d\n";v1;v2;return 0;}6. 下面程序段中循环体的执行次数是 ..a=10; b=0;do { b+=2; a-=2+b;}whilea>=0;7. 下面程序段的运行结果是 ..x=2;do { printf“”; x--; } whilex= =0;8. 下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2;用5除余3;用7除余2”的数;且一行只打印5个数;请填空..include <stdio.h>int main{ int i=1;j=0;do{ if{ printf“%4d”;i;j++;if printf“\n”;}i=i+1;} whilei<1000;return 0;}9. 当运行以下程序时;从键盘输入“1 2 3 4 5 -1<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{ int k=0;n;do{scanf"%d";&n;k+=n;}whilen=-1;printf"k=%d n=%d\n";k;n;return 0;}10. 下面程序的运行结果是 ..include<stdio.h>int main{int i=0;x=0;y=0;do{++i;ifi%2=0 {x=x+i;i++;}y=y+i++;}whilei<=7;printf"x=%d;y=%d\n";x;y;return 0;}11. 下面程序段是找出整数的所有因子..请填空..include<stdio.h>int main{int x;i;scanf"%d";&x;i=1;for ; ;{ifx%i==0 printf"%3d";i;i++;} return 0;}12. 鸡、兔共有30只; 脚共有90个;下面程序段是计算鸡兔各有多少只;x 代表有多少只鸡;y代表有多少只兔子;请填空完成程序..forx=1; x<=30; x++{y=30-x;if printf“%d;%d\n”;x;y;}13. 下面程序段的运行结果是 ..fora=1;i=-1; -1<=i<1; i++{ a++; printf“%2d”;a;}printf“%2d”;i;14. 下面程序的功能是1-3+5-7+……-99+101的值..请填空..include<stdio.h>int main{int i;t;s=0;q=1;fori=1;i<=101;i+=2{t= ; s=s+t; q= ;}printf"%d\n";s;return 0;}15. 以下程序的功能是根据公式e=1+1/1+1/2+1/3+……;求e的近似值;精度要求为10-6..请填空..include<stdio.h>int main{int i; double e;n;; n=1.0;fori=1; ;i++{n/=i;e+=n;}printf"e=%f\n";e;return 0;}16. 下面程序的运行结果是 ..include<stdio.h>int main{int i;fori=1;i<=5;i++switchi%2{case 0: i++; printf"";break;case 1: i+=2; printf"";default: printf"\n";}return 0;}17. 下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数..请填空..include<stdio.h>int main{int n=0;i;j;k;fori=1;i<=9;i++fork=0;k<=8;ifk=iforj=0;j<=9;j++if{printf"%d\n";i100+j10+k;n++;}printf"n=%d\n";n;return 0;}18. 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数..请填空..include<stdio.h>int main{ int n;k=1;s=0;m;forn=1;n<=100;n++{k=1;s=0;;while{k=m%10;s+=m%10;;}ifk>s printf"%5d";n;}printf"\n";return 0;}三、编程题1.打印出以下图形10’s u s2.有三个数a、b、c;由键盘输入;输出其中第二大的数..12’3.编写一个程序;求s=1+1+2+1+2+3+…+1+2+3+…+n的值..15’4.输入一批非0数;直到输入0时为止;计算其中奇数的平均值和偶数的乘积..15’5.有一口深度为h米的水井;井底有一只青蛙;它每天白天能够沿井壁向上爬m米;夜里则顺井壁向下滑n米;若青蛙从某个早晨开始向外爬;试编写一个函数:对于任意指定的h;m;n值均为自然数;计算青蛙多少天能够爬出井口15’。
一、选择题:【1】在C语言中,用户能使用的正确标识符是。
A) 5f B) _for C) struct D) _f.5答案: B 分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32 个字符。
【2】以下那个是正确的C语言常量。
A) 0678 B) '\0101' C) 1.2E3.5 D) 123L答案:D【3】以下对C语言源程序有关常识正确的描述是。
A) main 函数必须位于文件的开头B) 每个语句必须单独一行C) 标识符中大小写字母没有区别D) 宏定义#define 部分不一定要放在程序的最开头位置答案:D【4】以下for 循环的执行次数是。
for(x=0,y=0;(y=123)&&(x<4);x++)A)是无限循环B)循环次数不定C)执行4次D)执行3次答案:C分析:若要判断(y=123)&&(x<4)假,因为y=123永远为真,所以只需要判断x<4为假即可。
【5】对for( 表达式1;; 表达式3) 可理解为。
A)for( 表达式1;0; 表达式3)B)for( 表达式1;1; 表达式3)C)for( 表达式1; 表达式1; 表达式3)D)for( 表达式1; 表达式3; 表达式3)答案: B【6】设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。
A)while循环执行10次 B )循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次答案:C分析:因为k=0 为假,所以程序不执行其后的语句。
【7】C语言中while和do-while 循环的主要区别是。
A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案:A【8】设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d) 后n 的值为。
一、填空1.C语言源程序文件的后缀是 .c 。
2.结构化程序由顺序结构、选择结构、循环结构三种基本结构组成。
3.在C语言中,用关键字 int 定义基本整型变量,一个基本整型变量系统分配 2 字节,用关键字 float定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字 double 定义双精度实型变量,一个双精度实型变量系统分配 8 字节。
二、选择1.以下选项中正确的实型常量是( A )A.12. B.-20 C. 1,000 D. 4 5 62.以下选项中不正确的实型常量是(无正确答案)A. B. C. D. 456e-23.以下选项中不合法的用户标示符是( C )A. _123 B.A12_1 C. A $ D.Dim4.C语言中运算对象必须是整型的运算符是( A )A .% B./ C.! D.*5. 若变量已正确定义并赋值,符合C语言语法的表达式是( B )A.a=a+7 ; B.a=7+b+c,a++ C. int%4) D.a=a+7=c+b 6.下面合法的赋值语句是( C )A.a=b=58 B.k=int(a+b) C. a=58,b=58 D.--i 7.若变量已正确定义为int ,要给a,b,c输入数据,正确的输入语句是( D ) A.read(a,b,c) B.scanf(“%d%d%d”,a,b,c)C.scanf(“%D%D%D”,&a,&b,&c) D.scanf(“%d%d%d”,&a,&b,&c) 8.若变量a,b,t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句组是( C )A.a=a+b,b=a-b,a=a-b; B. t=a,a=b,b=t;C.a=t;t=b;b=a D.t=b;b=a;a=t;9.若有正确定义语句:double x=;语句printf(“%f\n ”,(int)(x*1000+/(double)1000);的输出结果是( D )A .输出格式说明与输出项不匹配,输出无定值B .C .!D .10. 若有以下程序段:int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\\n ”,a,b,c);执行后的输出结果是( B )A .3,0,-10B .0,0,5C .-10,3,-10D .3,0,311.下列运算符中优先级别最高的是( A )A . !B .%C .-=D .&&12.为表示关系:z y x ≥≥,应使用的C 语言表达式是( A )A .(x>=y)&&(y>=z)B .(x>=y)AND(y>=x)C .(x>=y>=z)D .(x>=y)&(y>=z)13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是( D )A .a&&bB .a<=bC .a||b+c&&b-cD .!((a<b)&&!c||1)14.有以下程序:#include<>main(){ int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec+=1;printf(“%d\n”,c);}程序的运行结果是( C )A.0 B.1 C.2 D.315.有以下程序:#include<>main(){ int w=4,x=3,y=2,z=1;printf(“%d\n”,(w<xw:z<yz:x));}程序的运行结果( A )A.1 B. 2 C.3 D. 416.有以下程序:main(){int a,b,s;scanf(“%d %d”,&a,&b);s=a;if(a<b)s=b;s*=s;printf(“%d\n”,s);}若执行以上程序时从键盘上输入3和4,则输出结果是( B ) A.14 B.16 C.18 D.2017.有以下程序段:y=-1;if(x!=0)if(x>0) y=1;else y=0;其能正确表示的数学函数关系是( C )A .⎪⎩⎪⎨⎧>=<-=)0(1)0(0)0(1x x x yB .⎪⎩⎪⎨⎧>=-<=)0(0)0(1)0(1x x x yC .⎪⎩⎪⎨⎧>=-<=)0(1)0(1)0(0x x x yD .⎪⎩⎪⎨⎧>=<-=)0(0)0(1)0(1x x x y18.若有定义语句int a, b ;double x ;则下列选项中正确的是( C )A .switch (x%2)B .switch ((int )x/ {case 0: a++; break; {case 0: a++; break; case 1: b++; break; case 1: b++; break; default : a++; b++; default : a++; b++;} }C .switch ((int )x%2)D .switch ((int )(x )%2){case 0: a++; break; {case : a++; break; case 1: b++; break; case : b++; break; default : a++; b++; default : a++; b++;} }19.有以下程序段:int k,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}printf(“%d\n”,s);程序段的输出结果是( D )A.9 B.1 C.11 D.10 20.有以下程序段:int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf(“%d\n”,m);程序段的输出结果是( C )A.12 B.15 C.20 D.25 21.有以下程序段:int n=10;while(n>7){ n--;printf(“%d\n”,n);}程序段的输出结果是( B )A.10 B.9 C.10 D.99 8 9 88 7 8 77 6 22.有以下程序段:int x=3;doprintf(“%3d”,x-=2);while(!(--x));程序段的输出结果是( C )A.1 B.3 0 C.1 -2 D.死循环23.有以下程序:main(){int i,sum;for(i=1;i<=6;i++)sum+=sum;printf(“%d\n”,sum;);}程序的输出结果是( C )A..15 B.14 C.不确定 D.024.有以下程序:#include<>main(){int i;for(i=1;i<=5;i++){if(i%2)printf(“*”);elsecontinue;printf(“#”);}pintf(“$\n”);}程序的输出结果是( A )A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$25.有以下程序:#include<>main(){ int x,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d”,x);}printf(“\n”);}程序的输出结果是( A )A.28 70 B.42 84 C.26 68 D.39 81。
大一c语言期中考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. intC. _intD. int1答案:C2. C语言中,用于定义一个字符常量的是?A. 'a'B. "a"C. aD. 1答案:A3. 下列哪个选项不是C语言中的关键字?A. intB. autoC. floatD. var答案:D4. 以下哪个选项是正确的C语言变量声明?A. int a, b;B. int a; int b;C. int a, b;D. All of the above答案:D5. C语言中,下列哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. All of the above答案:D7. 在C语言中,哪个运算符用于求余?A. %B. /C. *D. -答案:A8. C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 下列哪个选项是C语言中的合法字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\0World"答案:A10. 在C语言中,下列哪个选项是正确的数组声明?A. int array[5] = {0, 1, 2, 3, 4};B. int array[] = {0, 1, 2, 3, 4};C. int array[5] = {0, 1, 2};D. All of the above答案:D二、填空题(每题3分,共30分)1. 在C语言中,声明一个整型变量的关键字是________。
c语言大一期中考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列选项中,不属于C语言基本数据类型的是()。
A. intB. floatC. stringD. char答案:C3. 在C语言中,以下哪个符号用于表示逻辑与操作()。
A. &&B. ||C. !D. =答案:A4. 下列哪个选项是正确的C语言函数声明()。
A. int function_name(int a, int b);B. int function_name(int a; int b);C. int function_name(int a, int b)D. int function_name(int a, int b)答案:A5. C语言中,用于输入输出的库函数是()。
A. math.hB. stdio.hC. string.hD. time.h答案:B6. 下列哪个选项是C语言中正确的注释方式()。
A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释答案:B7. C语言中,用于定义数组的关键字是()。
A. listB. arrayC. tableD. int答案:B8. 下列哪个选项是C语言中正确的字符串定义方式()。
A. char str[] = "Hello";B. char str[] = 'Hello';C. char str = "Hello";D. char str[] = {"Hello"};答案:A9. C语言中,用于定义指针的关键字是()。
A. pointerB. refC. ptrD. *答案:D10. C语言中,用于定义结构体的关键字是()。
A. structB. classC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个全局变量。
期中考试注意事项:1. 考前请将密封线内填写清楚2. 所有答案请直接答在试卷上3.考试形式:闭卷a=5;a*=a/=a++;A.2B.1 C.40 D.32.以下程序段的执行结果是()。
Int x=-3;Do {printf(“%d\n”,x++);} while(!x);A.-3B.-2 C.死循环D.-3-2-13.若a、b、c均为int型变量,则执行以下程序段后的输出结果是()。
b=(a=10,a+5,c=10);printf(“a=%d,b=%d,c=%d\n”,a,b,c);c=(a=10,b=5,a+b);printf(“a=%d,b=%d,c=%d\n”,a,b,c);A.a=10, b=15, c=10 B.a=10, b=10, c=10a=10, b=5, c=10 a=10, b=5, c=10C.a=10, b=10, c=10D.a=10, b=10, c=10a=10, b=5, c=15 a=10, b=5, c=54.若a1,a2,a3,a4均为char类型变量,则执行以下程序段后的输出结果是()。
a1=’1’;a2=’2’;a3=’3’;a4=’4’;printf(“%1c\n”,a1);printf(“%2c\n”,a2);printf(“%3c\n”,a3);printf(“%4c\n”,a4);A.1 B.1 C.1 D.输出格式的描述符不正确2 2 023 3 0034 4 00045.逻辑运算符两侧运算对象的数据()。
A.只能是0或1 B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据6.设i,j和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是()。
A.’i’ && ‘j’ B.i<=jC.i || j + k && j - k D.! ( (i<j) && !k || 1)7.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。
大一c语言期中考试题和答案大一C语言期中考试题和答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.0C. 0x12.5D. 0x12L答案:A2. 以下哪个是C语言中的关键字?A. mainB. includeC. intD. input答案:C3. 在C语言中,以下哪个选项不能用作变量名?A. _nameB. 2namesC. name$D. name答案:C4. 以下哪个选项是C语言中的合法字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", "Another String"D. "Hello, World!"答案:D5. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function int x;C. int function(int x);D. int function x;答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {1, 2, 3};D. All of the above答案:D7. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr = 0;D. Both A and B答案:D8. C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)printf("Positive");B. if x > 0printf("Positive");C. if (x > 0)printf("Positive")elseprintf("Non-positive");D. Both A and C答案:D9. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)printf("%d ", i);B. for (int i = 0; i <= 10; i++)printf("%d ", i);C. for (i = 0; i < 10; i++)printf("%d ", i);D. All of the above答案:D10. C语言中,以下哪个选项是正确的函数调用?A. void function();B. function();C. function(10);D. Both B and C答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。
A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。
A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。
高级语言程序设计试题
答案在最后
一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出的四个选项中只有
一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分是()
A.参加编译,并会出现在目标程序中
B.参加编译,但不会出现在目标程序中
C.不参加编译,但会出现在目标程序中
D.不参加编译,也不会出现在目标程序中
2.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()
A.0和2
B.0和3
C.1和2
D.1和3
3.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()
A.if(a>b){if(c>d)x=1;else x=2;}
B.if(a>b){if(c>d)x=1;}else x=2;
C.if((a>b)&&(c>d))x=1;else x=2;
D.if(a<=b)x=2;else if(c>d) x=1;
4.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是()
A.x=a,y=97
B.x=97,y=a
C.x=97,y=97
D.x=a,y=a
5.执行下列程序
int a[3][3]={{1},{2},{3}};
int b[3][3]={1,2,3};
main()
{printf("%d\n”,a[1][0]+b[0][0]);}
后输出的结果是()
A.0
B.1
C.2
D.3
6.结构化程序设计所规定的三种基本控制结构是( )
A) 输入、处理、输出B) 树形、网形、环形
C) 顺序、选择、循环D) 主程序、子程序、函数
7.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )
A.连接、编译
B.编译、连接
C.连接、运行
D.运行
8.下列各语句中,能够且仅输出整型变量a、b中最大值的是( )
A. if(a>b) printf(″%d\n″,a);printf(″%d\n″,b);
B. printf(″%d\n″,b);if(a>b) printf(″%d\n″,a);
C. if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b);
D. if(a<b) printf(″%d\n″,a);printf(″%d\n″,b);
9.执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是( )
A. 22,13
B. 12,10
C. 22,10
D. 12,13
10.下列各语句定义了数组,其中一个不正确的是( )
A. static int a[5],b[2][3];
B. char no[30],rec[30,6];
C. int x[]={2,4,6,8,10};
D. int x[10]={1,2,3,4,5};
二、填空题(本大题共10小题,每小题2分,共20分)
11.初始化值是0.618的双精度变量a的定义形式为____________。
12.表达式!10!=1的值是____________。
13.“20<x≤30”的C语言表达式是____________。
14.表达式a=1,a+=1,a+1,a++的值是____________。
15.设int i = 5;则循环语句while(i>=1)i--;执行后,i的值为____________。
16.设char string[]="This_is_a_book!";则数组的长度应是____________。
17.计算a、b中最小值的条件表达式为______。
18.判断变量a、b的值均不为0的C表达式为______。
19.执行语句“a=5+(c=6);”后,变量a、c的值依次为______。
20.整型变量x的值为23,语句“printf(″%o\\n″,x);”的输出结果为______。
三、程序分析题(本大题共3小题,每小题6分,共18分)阅读下列程序,将输出结果写到各
题右侧的划线处
21.# define N 7
main()
{int i,j,temp,a[N]={1,2,3,4,5,6,7};
for(i=0;i<N/2;i++)
{j=N-1-i;
temp=a[i];a[i]=a[j];a[j]=temp;
}
for(i=0;i<N;i++)printf("%5d",a[i]);
}
输出结果:_____ _
22.#include <stdio.h>
void main() 输出结果:______
{ int i; ______
for (i=1;i<5;i++) printf(″%d\t%c\n″,i,'A'+i); ______
} ______
23.#include <stdio.h>
void main()
{ int i,j,a[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++) a[i][j]=1+i-j;
for(i=0;i<4;i++) {
for(j=0;j<4;j++) 输出结果:______
if(a[i][j]>0) printf(″%3d″,a[i][j]); ______
putchar('\n');______
} ______
}
四、程序填充题(本大题共2小题,每小题6分,共12分)给出下列程序,将横线处缺少的部
分补上,使其能正确运行。
24.输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它
字符出现的次数。
# include“stdio.h"
main()
{ char c;
Int _____________;
while((c=getchar())!='\n')
{
if(________________) digit++;
else if(c==''||c=='\t') ++blank;
else____________;
}
printf("digit=%d,blank=%d,other=%d\n",digit,blank,other);
}
25.先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将
其下标输出,若不存在这样的元素,则输出“Not found!”标志。
main()
{ int i,x,a[10];
for(i=0;i<10;i++) scanf("%d",___);
scanf("%d",&x);
printf("%d",x);
for(i=0;i<10;i++) if(____________) break;
if(i___10) printf(“position:%d\n”,i);
else printf(" Not found! \n",x);
}
五、五、程序设计题(26小题14分,27\28小题10分,共34分)。
26编程,先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果。
27.求出10至1000之内能同时被2、3、7整除的数,并输出。
28.求1到100之间的奇数之和及偶数之和,并将二者输出。
1.
高级语言程序设计试题参考答案
一、单项选择题(本大题共20小题,每小题2分,共20分)
1.D
2.B
3.A
4.D
5.D
6.C
7.B
8.C
9.A 10.B
二、填空题(本大题共10小题,每小题2分,共20分)
11.double a=0.618
12.1
13.x>20&&x<=30或者(x>20)&&(x<=30)
14.2
15.0
16.16
17. a<b? a:b
18. a*b!=0 或a*b
19. 11,6
20. 27\n
三、程序分析题(本大题共5小题,每小题5分,共25分)
21.7 6 5 4 3 2 1
22.1 B
2 C
3 D
4 E
23.1
2 1
3 2 1
4 3 2 1
四、程序填充题(本大题共3小题,每小题6分,共18分)
24.(1)digit=0,blank=0,other=0
(2)c>='0'&&c<='9'
(3)++other或者other++
25.(1)&a[i]或者a+i
(2)x==a[i]
(3)<
五、程序设计题
略。