《计算机语言C》复习题

合集下载

2020年3月计算机等级C语言考试经典练习及参考答案

2020年3月计算机等级C语言考试经典练习及参考答案

【导语】2020年3⽉计算机等级考试备考正在进⾏中,为了⽅便考⽣及时有效的备考,那么,为您精⼼整理了2020年3⽉计算机等级C语⾔考试经典练习及参考答案,希望对⼤家的复习有帮助。

如想获取更多计算机等级考试的模拟题及备考资料,请关注的更新。

1.下列关于⾯向对象概念的描述中,错误的是( )。

A.⾯向对象⽅法⽐⾯向过程⽅法更加先进 B.⾯向对象⽅法中使⽤了⼀些⾯向过程⽅法中没有的概念 C.⾯向对象⽅法替代了结构化程序设计⽅法 D.⾯向对象程序设计⽅法要使⽤⾯向对象的程序设计语⾔ 答案:C 2.下列各种⾼级语⾔中,不是⾯向对象的程序设计语⾔是( )。

A.C++ B.Java C.VB D.C 答案:D 3.下列关于类的描述中,错误的是( )。

A.类就是C语⾔中的结构类型 B.类是创建对象的模板 C.类是抽象数据类型的实现 D.类是具有共同⾏为的若⼲对象的统⼀描述体 答案:A 4.下列关于对象的描述中,错误的是( )。

A.对象是类的⼀个实例 B.对象是属性和⾏为的封装体 C.对象就是C语⾔中的结构变量 D.对象是现实世界中客观存在的某种实体 答案:C 5.下列关于C++程序中使⽤提取符和插⼊符的输⼊/输出语句的描述中,错误的是( )。

A.提取符是对右移运算符(>>)重载得到的 B.插⼊符是对左移运算符(<<)重载得到的 C.提取符和插⼊符都是双⽬运算符,它们要求有两个操作数 D.提取符和插⼊符在输⼊/输出语句中不可以连⽤ 答案:C 6.程序流程图中带有箭头的线段表⽰的是( )。

A.图元关系 B.数据流 C.控制流 D.调⽤关系 答案:C 7.⼀个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次⼊栈,然后再依次出栈,则元素出栈的顺序是( )。

A.12345ABCDE B.EDCBA54321 C.ABCDE12345 D.54321EDCBA 答案:B 8.下列叙述中正确的是( )。

1计算机科学与技术专业本科班C语言程序设计期末复习题2

1计算机科学与技术专业本科班C语言程序设计期末复习题2

1计算机科学与技术专业本科班C语言程序设计期末复习题2《C语言程序设计》一、单项选择题(每小题2分,共60分)1、在VC 6.0环境中用RUN命令运行一个C程序时,实际所运行的程序的后缀是:A).CPP B) .C C) .OBJ D).EXE2、结构化程序设计所规定的三种基本控制结构是A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数3、以下正确的整型常量是:A) 16. B) -26 C) 1,000 D) 3 5 74、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是A) 字符A B)字符a C)字符e D)非法的常量5、以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define6、以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;7、C语言中运算对象必须是整型的运算符是:A) % B) / C) ! D) **8、设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为A) 0 B) 1 C)2 D) 39、C语言中,字符(Char)型数据在微机内存中的存储形式是:A) 反码 B) 补码 C) EBCDIG 码 D) ASCII码10、以下叙述正确的是:A) C语言总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分11、若已定义int型的三个量a、b、c,则以下正确的输入语句是: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);12、以下叙述中正确的是A) C程序中注释部分可以出现在程序中任意合适的地方B) 花括号“{”和“}”只能作为函数体的定界符C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是C语句之间的分隔符,不是语句的一部分13、以下数组定义中不正确的是A) int a[2][3];B) int b[][3]={0,1,2,3};C) int c[100][100]={0};D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};14、有以下程序fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf(“%d”,a); }程序运行后的输出结果是A) 0 B) 29 C) 31 D) 无定值15、有以下程序main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*--p); }程序运行后的输出结果是A) 非法 B)a[4]的地址C)5 D)316、有以下程序#define M(x,y,z) x*y+zmain(){ int a=1,b=2, c=3;print f(“%d\n”, M(a+b,b+c, c+a)); } 程序运行后的输出结果是A) 19 B) 17 C) 15 D) 1217、有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);< p="">printf("%d,%d\n",k,m); }程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,118、有以下程序main(){ int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d++ +1);elseprintf("%d",++d +1);printf("%d\n",d); }程序运行后的输出结果是A) 2 B) 3 C) 43D) 44 19、与数学式子123 x nx 对应的C 语言表达式是A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)20、若变量c 为char 类型,能正确判断出c 为小写字母的表达式是A) ‘a’<=c<= ‘z’ B) (c>= ‘a’)||(c<= ‘z’)C) (‘a’<=c)and (‘z’>=c) D) (c>= ‘a’)&&(c<= ‘z’)21、有以下程序main(){ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’};int i,j;i=sizeof(a); j=strlen(a);printf(“%d,%d \b”i,j); }程序运行后的输出结果是A )9,9B )8,9C )1,8D )9,822、有以下程序#includemain(){ char *p=“abcde\Ofghjik\0”;printf(“%d \n”,strlen(p)); }程序运行后的输出结果是A) 12 B) 15 C) 6 D) 523、以下叙述中不正确的是A )C语言中的文本文件以ASC Ⅱ码形式存储数据B )C语言中对二进制文件的访问速度比文本文件快C )C语言中,随机读写方式不适用于文本文件D )C语言中,顺序读写方式不适用于二进制文件24、设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P 指向data 中的a 域,正确的赋值语句是A) p=&a B) p=data.a; C) p=&data.a D) *p=data.a;25、有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]); }执行后输出结果是A) n,two B) t,one C)w,one D) o,two26、以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+127、有如下程序main(){ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum); }该程序的执行结果是A) 6 B) 3 C) 死循环 D) 028、有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出结果是A) 011122 B) 012 C) 012020 D) 12029、有如下程序main(){ int x=23;do{ printf(“%d”,x--);}while(!x); }执行后输出结果是A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环30、若有定义:int x,*px; 则正确的赋值表达式是:A) px=&x B) px=x C) *px=&x D) *px=*x二、填空题(每小题2分,共20分1、以下程序段的输出结果是 _______ 。

C语言复习题

C语言复习题

41. 执行 printf ("%d",'M'-'A'+'a' -'m'); ,输出 0。√ 42. 表达式 !x 等价于 x != 1。× 43. 表达式 (z=0, (x=2)||(z=1),z) 的值是 1。× 44. 在 C 程序中,用整数 0 表示逻辑值“假” 。√ 45. 若变量已正确定义,表达式 x=y=1 符合 C 语言语法。√ 46. 表达式 !(x>0||y>0) 等价于!(x>0)&&!(y>0)。√ 47. 在 C 源程序中语句 if(x==5) y++;与 if(x=5) y++;等价。× 48. 在的关系运算符(>=、>、==、!=、<=、<)中,优先级最低的运算符是==、!=。√ 49. 若 x 的当前值为 5, 执行语句“if(x=3) x=x+5;”后,x 的值依然是 5。× 50. 执行循环语句“for(i=1;i<10;i=i+2) s+=i;”后,i 的当前值为 11。√ 单选题 1. 学校的学生学籍管理程序属于______。C (A)工具软件 (B)系统软件 (C)应用软件 (D)文字处理软件 2. 有些高级语言源程序在计算机中执行时,采用的是解释方式。在解释方式下,源程序由 ______边解释边执行。B (A)编译程序 (B)解释程序 (C)操作系统 (D)汇编程序 3. 关于计算机软件的叙述,错误的是______。B (A)软件是一种商品 (B)软件借来复制也不损害他人利益 (C)《计算机软件保护条例》对软件著作权进行保护 (D)未经软件著作权人的同意复制其软件是一种侵权行为 4. 在下列四条叙述中,正确的一条是______。C (A)最先提出存储程序思想的人是英国科学家艾伦·图灵 (B)ENIAC 计算机采用的电子器件是晶体管 (C)在第三代计算机期间出现了操作系统 (D)第二代计算机采用的电子器件是集成电路 5. 已知英文小写字母 d 的 ASCII 码为十进制数 100, 则英文小写字母 h 的 ASCII 码为十进 制数_______。B (A)103 (B)104 (C)105 (D)106 6. 有一个数值 152,它与十六进制数 6A 相等,那么该数值是______。D (A)十进制数 (B)二进制数 (C)四进制数 (D)八进制数 7. Internet 比较确切的一种含义是______。B (A)一种计算机的品牌 (B)网络中的网络,即互连各个网络 (C)一个网络的顶级域名 (D)美国军方的非机密军事情报网络 8. 下列关于系统软件的四条叙述中,正确的是______。A (A)系统软件与具体应用领域无关 (B)系统软件与具体的硬件无关 (C)系统软件是在应用软件基础上开发的 (D)系统软件就是指操作系统 9. 计算机内存的每个基本单位,被赋予一个唯一的______,称为地址。C (A)容量 (B)字节 (C)序号 (D)功能 10. 十六进制数 FF.1 转换成十进制数是______。C (A)255.625 (B)250.1625 (C)255.0625 (D)250.0625 11. 在计算机中存储数据的最小单位是______。B (A)字节 (B)位 (C)字 (D)记录 12. 因特网中某主机的二级域名为“edu” ,表示该主机属于______。C (A)赢利性商业机构 (B)军事机构 (C)教育机构 (D)非军事性政府组织机构

大学计算机C语言期末考试复习试题及答案 (26)

大学计算机C语言期末考试复习试题及答案 (26)

C语言试题试卷编号:9618 版面整理着:一、填空共8题(共计8分)第1题(1.0分)题号:513若有以下定义,则计算表达式y+=y-=m*=y后的y值是()int m=5,y=2; 答案:-16第2题(1.0分)题号:84写出语句 b=(a=6,a*3); 执行后整型变量b的值是【1】. 答案: 18第3题(1.0分)题号:293getchar()函数只能接收一个【1】. 答案:字符第4题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:9,10第5题(1.0分)题号:86写出表达式 1.234&&5.982 的值是【1】. 答案:1第6题(1.0分)题号:303为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对. 答案: if第7题(1.0分)题号:311若所用变量均已正确定义,则执行下面程序段后的值是【1】.for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案:YESYES 第8题(1.0分)题号:312以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar();while(ch ____ 'Y')/*在括号中填写*/ch=getchar(); 答案:==二、判断共15题(共计15分)第1题(1.0分)题号:937在C程序中,每行中只能写一条语句答案:N第2题(1.0分)题号:928C程序中的关键字必须小写. 答案:Y第3题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量. 答案:Y第4题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double 答案:Y第5题(1.0分)题号:947printf函数中,%c和%s都可以输出字符串. 答案:N第6题(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第7题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句. 答案:Y激情活力精彩学联版权所有违者必究第8题(1.0分)题号:961C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出. 答案:Y第9题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符. 答案:Y第10题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果. 答案:Y第11题(1.0分)题号:723若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". 答案:Y 第12题(1.0分)题号:709int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A. 答案:N第13题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句. 答案:Y第14题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立. 答案:Y第15题(1.0分)题号:952do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式. 答案:N三、单项选择共20题(共计40分)第1题(2.0分)题号:2016设C语言中,int类型数据占2个字节,则short类型数据占().A:1个字节B:2个字节C:4个字节D:8个字节答案:B第2题(2.0分)题号:2209若变量已正确定义并赋值,下面符合C语言语法的表达式是().A:a:=b+1B:a=b=c+2C:int 18.5%3D:a=a+7=c+b 答案:B第3题(2.0分)题号:2000以下的选择中,正确的赋值语句是().A:a=1,b=2B:j++C:a=b=5;D:y=int(x) 答案:C第4题(2.0分)题号:2130下列字符序列中,是C语言保留字的是().A:sizeofB:include激情活力精彩学联版权所有违者必究C:scanfD:sqrt 答案:A第5题(2.0分)题号:2211设以下变量均为int类型,则值不等于7的表达式是().A:(x=y=6,x+y,x+1)B:(x=y=6,x+y,y+1)C:(x=6,x+1,y=6,x+y)D:(y=6,y+1,x=y,x+1) 答案:C第6题(2.0分)题号:2127下列程序段的输出结果为().float k=0.8567;printf("%4.1f%%",k*100);A:0085.6%%B:85.7%C:0085.6%D:.857 答案:B第7题(2.0分)题号:2135下列程序段的输出结果为().int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));A:1B:7C:3D:5 答案:C第8题(2.0分)题号:2189从键盘上输入某字符串时,不可使用的函数是().A:getchar()B:gets()C:scanf()D:fread() 答案:A第9题(2.0分)题号:2039若k为int型变量,则以下程序段的执行结果是().k=-8567; printf("k=|%06D|\n");A:格式描述符不合法,输出无定值B:输出为k=|%06D|C:输出为|0-8567|D:输出为|-8567| 答案:B第10题(2.0分)题号:2049以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);激情活力精彩学联版权所有违者必究}A:11,10 B:9,10 C:010,9 D:10,9答案:B第11题(2.0分)题号:2144int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第12题(2.0分)题号:2259以下关于运算符优先顺序的描述中正确的是().A:关系运算符<算术运算符<赋值运算符<逻辑运算符B:逻辑运算符<关系运算符<算术运算符<赋值运算符C:赋值运算符<逻辑运算符<关系运算符<算术运算符D:算术运算符<关系运算符<赋值运算符<逻辑运算符答案:C第13题(2.0分)题号:2318在C语言中,要求运算数必须是整型的运算符是().A:&&B:%C:!D:|| 答案:B第14题(2.0分)题号:2261若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是().A:A%2==1B:!(A%2==0)C:!(A%2)D:A%2 答案:C第15题(2.0分)题号:2063执行下列语句后的输出为().int j=-1;if(j<=1) printf("****\n");else printf("%%%%\n");A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A第16题(2.0分)题号:2248下面有关 for 循环的正确描述是().激情活力精彩学联版权所有违者必究A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第17题(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第18题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:### 答案:B第19题(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第20题(2.0分)题号:2249若i为整型变量,则以下循环执行次数是().for(i=2;i==0;) printf("%d",i--);A:无限次B:0次C:1次D:2次答案:B四、程序填空共3题(共计27分)第1题题目:要求输出结果为:A,B激情活力精彩学联版权所有违者必究#include<stdio.h>void main()/***********SPACE***********/{char a,【?】/***********SPACE***********/a=【?】;b='b';a=a-32;/***********SPACE***********/b=b-【?】;printf("%c, %c\n%d,%d\n",a,b,a,b);}答案:=======(答案1)=======b;=======(答案2)======='a'=========或=========97=======(答案3)=======32第2题(9.0分)题号:24题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。

C语言复习题及参考答案

C语言复习题及参考答案

C语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。

A)C语言的源程序不必通过编译就可以直接运行。

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C语言源程序经编译形成的二进制代码可以直接运行。

D)C语言中的函数不可以单独进行编译。

2、以下4个用户定义标识符中,全部合法的一组是__A__。

A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。

A)scanf B)Void C)_3com D)int4、C语言中用于结构化程序设计的3种基本结构是__A__。

A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。

A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。

A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。

A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。

A)计算机语言中,只有机器语言属于低级语言。

B)高级语言源程序可以被计算机直接执行。

C)C语言属于高级语言。

D)机器语言是所用机器无关的。

9、以下符合C语言语法的实型常量是__C__。

A)1.2E0.5B)3.14159E C).5E-3D)E1510、下面叙述正确的是__A___。

A)C程序中注释部分可以出现在程序中任何合适的地方。

B)花括号“{”和“}”只能作为函数体的定界符。

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。

D)分号是C语句之间的分隔符,不是语句的一部分。

11、设有以下定义:int a=0; double b=1.25; char c=’A’;#define d 2则下面语句中,错误是__D__。

C语言复习题(考研版)

C语言复习题(考研版)

C语言复习题(考研版)整理完毕:南京师范大学,教育技术学,2005年北京航空航天,软件学院,2012年湖南大学,计算机软件与理论,2005未完成南京师范大学,教育技术学,2006年已到11页北京大学,已到第16题概述1.(北京航空航天,软件学院,2012年)在C语言中,头文件的作用是什么?答:(1)通过头文件调用库功能。

在很多场合,源代码不便(或不准)向用户公布,只向用户提供头文件和二进制的库即可。

用户只需要按照头文件中的接口声明来调用库功能,不不必关心接口是怎么实现的。

(2)头文件能加强类型安全检查。

如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。

2.(北京航空航天,软件学院,2012年)在C语言中,#include “filename.h”和#include <filename.h>的区别是什么?答:#include “filename.h”表明该文件是用户提供的头文件,只从当前文件目录中查找;#include <filename.h>表明该文件是一个工程或标准头文件,不仅从当前文件目录中查找,而且在预定义的目录中查找。

3.(北京大学,?年)在C语言中, char型数据在内存中的存储形式是(a)。

A 补码B 反码C 原码D ASCII码标识符1.(北京航空航天,软件学院,2012年)在C语言中,标识符只能由字母、数字和下划线三种字符组成,并且第一个字符( C )。

A.必须是字母B.必须是下划线C.必须是字母或者下划线D.可以是字母、数字和下划线之一数据类型与表达式1.(南京师范大学,教育技术学,2006年)C语言中,宏定义#define PI 3.14159中,用宏名PI代替了一个(C )A 单精度数B 双精度数C 常量D 字符序列2.(北京大学,?年)C语言中最简单的数据类型包括( B )。

C语言1-5章复习题及参考答案

C语言1-5章复习题及参考答案

一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。

A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句c=a/b+0.4; 后,c的值为()。

A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。

A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。

A . 常量和变量都是表达式。

B. 运算符类型对应表达式的类型。

C. 每一个表达式都有自己的值。

D. 表达式必须以分号结尾。

5、C语言中,合法的长整型常数是()。

A . '\t' B.” A” C.65 D.a6、若已定义x 和y为double 类型,则表达式x=1;y=(x+3)/2 的值是()。

A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。

A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。

#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。

()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设int b=2; 表达式(b>>2)/(b>>1)的值是()。

A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。

A . printf()是格式化输出函数,用于输出信息。

B. printf()括号中的内容为函数的参数。

计算机二级c语言往年试题及答案

计算机二级c语言往年试题及答案

计算机二级c语言往年试题及答案一、选择题1. 下列不属于C语言关键字的是:A) if B) else C) switch D) case答案: D2. 在C语言中,下列关于数组说法正确的是:A) 数组的下标可以为负数B) 数组的大小可以在运行时动态改变C) 数组下标的类型可以是浮点数D) 数组元素的类型可以不相同答案: D3. 下面哪个运算符的优先级最高?A) ! B) ++ C) + D) &&答案: B4. 以下哪个循环语句无法在其内部控制循环的流程?A) while B) do-while C) for D) if-else答案: D5. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int a = 5, b = 2;printf("%d", a++ - b);printf("%d", a);}```A) 2, 6 B) 3, 6 C) 3, 7 D) 2, 7答案: A二、填空题1. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int x = 3;while (x++ < 6)printf("%d ", x);return 0;}```答案: 4 5 62. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int i = 0;while (i < 3){printf("%d ", ++i);i++;}return 0;}```答案: 1 3三、编程题1. 编写一个C程序,实现输入一个正整数n,计算并输出n的阶乘。

```c#include <stdio.h>unsigned long long factorial(unsigned int n);int main(){unsigned int n;printf("请输入一个正整数:");scanf("%u", &n);printf("%d的阶乘为:%llu", n, factorial(n));return 0;}unsigned long long factorial(unsigned int n){if (n == 0 || n == 1)return 1;elsereturn n * factorial(n - 1);}```以上为编写的一个简单的阶乘计算程序。

大一计算机c语言考试题及答案

大一计算机c语言考试题及答案

大一计算机c语言考试题及答案1. 选择题1) C语言中的关键字是指什么?A) 用来定义变量类型的关键字B) 用来声明函数的关键字C) 用来控制程序流程的关键字D) 用来定义常量的关键字答案:C) 用来控制程序流程的关键字2) 下列哪个不是C语言的基本数据类型?A) intB) floatC) doubleD) bool答案:D) bool3) 在C语言中,以下哪个语句可以用来读取用户输入的整数?A) scanf("%d", &num);B) printf("%d", num);C) gets(num);D) puts(num);答案:A) scanf("%d", &num);4) 下列哪个运算符用于获取变量的地址?A) *B) &C) +D) -答案:B) &5) 下列哪个循环语句只有在循环条件为假时才会执行循环体?A) for循环B) while循环C) do-while循环D) switch语句答案:C) do-while循环2. 填空题1) 在C语言中,用于定义常量的关键字是________。

答案:const2) 以下哪个运算符用于计算两个数的余数?A) *B) /C) +D) %答案:D) %3) 下列代码中,空格处应填写的条件是:if (x ________ 10)答案:>、<、>=、<=、==、!=4) 下列哪个函数用于输出字符串到屏幕?A) scanB) printfC) getsD) puts答案:B) printf5) C语言中用于循环控制的关键字是________。

答案:for、while、do3. 简答题1) 请简述C语言中的数组是什么?答:C语言中的数组是一种用于存储相同类型元素的数据结构。

数组可以通过下标访问其中的元素,下标从0开始计数。

数组的大小在定义时需要指定,一旦定义后大小不能再改变。

计算机题库《C语言》C语言-基本选择题及答案

计算机题库《C语言》C语言-基本选择题及答案

计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由 C 构成的。

A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程3.C语言程序从 C开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。

A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是(D)。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

7. 下列说法错误的是:(B)A.C程序运行步骤是编辑、编译、连接、执行。

B.C语言的变量名必须用小写,常量用大写。

C.C语言的三种基本结构是顺序、选择、循环。

D. C程序一定由函数构成的。

8.下列关于C语言的说法错误的是( B )。

A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行9. 系统默认的C语言源程序扩展名为.C,需经过 C 之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错*10.下列说法中正确的是(B)。

A.由于C源程序是高级语言程序,因此一定要在TC软件中输入。

c语言复习1(计算机二级)

c语言复习1(计算机二级)

1.下面关于C语言的叙述中,正确的是()。

(A) 每行只能写一条语句(B) 程序中必须包含有输入语句(C) main函数必须位于文件的开头(D) 每条语句最后必须有一个分号2.C语言的函数体由()括起来。

(A) ()(B) { } (C) [ ] (D)/* */3.下列不属于C语言关键字的是()。

(A) continue (B) integer (C) static (D) signed4.下面关于C语言变量的叙述中,错误的是()。

(A) 可以用const关键字定义变量(B) 在C程序中,SUM和sum是不同的变量(C) 变量名必须由字母或下划线开头(D) 变量的类型确定了变量的取值范围5.若有定义:int a=2; 则正确的赋值表达式是()。

(A) a-=(a*3) (B) a=double(-a) (C) a*3 (D) a*4=36.若已定义:int a=2,b=2; 则表达式(a+(b++), b) 的值是()。

(A) 2 (B) 3 (C) 4 (D) 67.若有定义:int i=7,j=8;则表达式i>=j||i<j 的值为()。

(A) 1 (B) 变量i的值(C) 0 (D) 变量j的值8.以下程序段的运行结果是()。

int a=1;printf("%d, %d, %d\n", a, ++a, a++);(A) 3,3,1 (B) 1, 2, 2 (C) 1, 2, 3 (D) 3, 2, 19.若有定义:int a=20,b=28,c;则执行语句c=(a^b)<<2;后c的值为()。

(A) 2 (B) 5 (C) 32 (D) 9210.以下程序的运行结果是()。

void main(){ int n='e';switch(n--){ default: printf("error ");case 'a':case 'b': printf("good "); break;case 'c': printf("pass ");case 'd': printf("warn ");}}(A) error (B) good (C) error good (D) warn 11.以下程序的运行结果是()。

计算机语言-C语言复习最新试题

计算机语言-C语言复习最新试题

1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( c )的文件。

A.”.c”B.“.obj”C.“.exe”D.“.bas”2、以下叙述不正确的是( c )。

A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. 在C程序中,一行只能写一个语句D. 在C程序中,注释说明对程序功能不产生影响3、一个C语言程序是由( b )。

A.一个主程序和若干子程序组成B. 函数组成C.若干过程组成D. 若干子程序组成4、用C语言编写的代码程序( B )。

A.可立即执行B. 是一个源程序C.经过编译即可执行D. 经过编译解释才能执行5、一个C语言源程序只有一个函数,那么这个函数的名称为( C )。

A.mathB.stdioC.mainD.abs6、以下不正确的C语言标识符是( a )。

A. voidB. a3_b3C. ablexeD. _x7、以下选项中属于C语言的数据类型是( C )。

A. 复数型B. 逻辑型C. 双精度型D. 集合型8、若有说明和语句:int a=5;a++;则此处表达式a++的值是( c )。

A.7B.6C.5D.49、在C语言中,以下叙述不正确的是( a )。

A. 在C程序中,无论是整数还是实数,都能被准确无误的表示B. 在C程序中,变量名代表存储器中的一个位置C. C语言中的变量名只能由字母,数字和下划线三种字符组成D. C语言中变量必须先定义后引用10、设以下变量均为int类型,则值不等于7的表达式是( c )。

A. (x=y=6,x+y,x+1)B. (x=y=6,x+y,y+1)C. (x=6,x+1,y=6,x+y)D. (y=6,y+1,x=y,x+1)11、与数学式321nxx 对应的C语言表达式是( c )。

A. 3*x^n/(2*x-1)B. 3*x**n/(2*x-1)C. 3*pow(x,n)*(1/(2*x-1))D. 3*pow(n,x)/(2*x-1)12、若x和y都是int型变量,x=100,y=200,程序片段:printf("%d",(x,y));的输出结果是( a )。

全国计算机二级C语言各章节复习题

全国计算机二级C语言各章节复习题

全国计算机⼆级C语⾔各章节复习题第⼀章C语⾔概述略第2章程序的灵魂----算法⼀、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有⼀个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)2.1以下叙述中正确的是A)C语⾔⽐其他语⾔⾼级B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式D)C语⾔出现的最晚,具有其他语⾔的⼀切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在⼀个函数中定义另⼀个函数C)main()函数必须放在其他函数之前D)所有被调⽤的函数⼀定要在调⽤之前进⾏定义声明正确答案: A2.3 以下说法正确的是A)C语⾔程序总是从第⼀个的函数开始执⾏B)在C语⾔程序中,要调⽤函数必须在main()函数中定义C)C语⾔程序总是从main()函数开始执⾏D)C语⾔程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语⾔规定,在⼀个源程序中,main函数的位置A)必须在最开始B)必须在系统调⽤的库函数的后⾯C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)⼀个C源程序可由⼀个或多个函数组成B)⼀个C源程序必须包含⼀个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于⼀条语句的后⾯任意位置正确答案: D2.6 下列叙述中正确的是A)C语⾔编译时不检查语法B)C语⾔的⼦程序有过程和函数两种C)C语⾔的函数可以嵌套定义D)C语⾔的函数可以嵌套调⽤正确答案: D2.7 以下叙述正确的是A)在C程序中,每⾏中只能写⼀条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,⽆论是整数还是实数,都能被准确⽆误地表⽰D)在C程序中,%是只能⽤于整数运算的运算符正确答案: D2.8 以下说法错误的是A)⼀个算法应包含有限个步骤B)在计算机上实现的算法是⽤来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执⾏有限次后实现D)算法的⽬的是为了求解正确答案: C2.9 算法是指为解决某个特定问题⽽采取的确定且有限的步骤,下⾯不属于算法的五个特性的是A)有零个输⼊或多个输⼊B)⾼效性有效性C)有穷性D)确定性正确答案: B2.10 下列关于C语⾔的说法不正确的是A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地⽅D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句正确答案: B2.11 以下说法错误的是A)⾼级语⾔都是⽤接近⼈们习惯的⾃然语⾔和数学语⾔作为语⾔的表达形式B)计算机只能处理由0和1的代码构成的⼆进制指令或数据C)C语⾔源程序经过C语⾔编译程序编译之后⽣成⼀个后缀为.EXE(c)的⼆进制⽂件D)每⼀种⾼级语⾔都有它对应的编译程序正确答案: C2.12 C语⾔中⽤于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,break C)for,while,do-while D)if,for,continue 正确答案: A⼆、填空题(请将每⼀个空的正确答案写在答题卡相应序号后。

计算机二级C语言考前复习题:选择题

计算机二级C语言考前复习题:选择题

计算机二级C语言考前复习题:选择题计算机二级C语言考前复习题:选择题1). 假设变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。

A.x=y==5;B.x=n%2.5;C.x+n=I;D.x=5=4+1;正确答案:A答案解析:选项A的含义是把关系表达式y==5的值赋给变量x。

所以这是一条正确的赋值语句。

因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,所以选项C和D是错误的。

因为求余运算符″%″两侧的运算对象都应当是整型数据,所以选项B是错误的。

2). 以下数据构造中,属于非线性构造的是( )A.循环队列B.带链队列C.二叉树D.带链栈正确答案:C答案解析:根据数据构造中各数据元素之间的前后件关系的复杂程度,一般将数据构造分为两大类:线性构造和非线性构造。

循环队列、带链队列和带链栈都是线性构造,而二叉树是非线性构造。

3). 以下表达中正确的选项是( )A.一个算法的空间复杂度大,那么其时间复杂度也必定大B.一个算法的空间复杂度大,那么其时间复杂度必定小C.一个算法的时间复杂度大,那么其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系正确答案:D答案解析:算法的复杂度主要包括时间复杂度和空间复杂度。

算法的时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法所执行的根本运算次数来度量,而算法所执行的根本运算次数是问题规模的函数,即算法的工作量=f(n),其中n是问题的规模;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。

一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。

4). 以下描绘中正确的选项是( )A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合正确答案:D答案解析:计算机软件与硬件是计算机系统中互相依存的两局部。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A) 11B) 10C) 9D) 8
main()
{ int n;
scanf("%d",&n);
if(n++<10) printf("%d\n",n);
else printf("%d\n",n--);
}
46.设有变量说明"static int a[2][3]={1,2,3,4,5,6};int m,*ptr=&a[0][0];"执行语句m=(*ptr)*(*(ptr+2))*(*(ptr+4));后,m的值为______。
}
}
A) 11B)10C) 9D) 10 11
27.当执行以下程序段时
A)循环体将执行一次B)循环体将执行两次
C)循环体将执行无限次D)系统将提示有语法错误
x=-1;
do { x=x*x;} while(!x);
28.有如下程序,该程序段的输出结果是
main0
{ int n=9;
while(n>6) {n--;printf("%d",n);}
A)4个字节B)5个字节C)6个字节D)7个字节
3.合法的数组定义是
A) int a[]="string";B) int a[5]={0,1,2,3,4,5};
C) chars="string";D) char a[]={0,1,2,3,4,5};
4.下列描述中不正确的是
A)字符型数组中可以存放字符串B)可以对字符型数组进行整体输入、输出
C)S是struct类型的变量D)T是struct S类型的变量
8.若有以下说明和定义,以下叙述正确的是______。
typedef int *INTEGER
INTEGER p,*q;
A) p是int型变量B) p是基类型为int的指针变量
C) q是基类型为int的指针变量D)程序中可用INTEGER代替int类型名
} data,*p;
A.p=&data.n;B.*p=data.n;
C.p=(struct sk *)&data.n;D.p=(struct sk *) data.n;
11.设有以下宏定义:
#define N 3
#define Y(n) ( (N+1)*n)
则执行语句:z=2*(N+Y(5+1));后,z的值为
C) void fun( int p, int *s)D) void fun(int n, int a)
main( )
{
int a[50], n;
fun( n,&a[9]);
}
39.以下程序的输出结果是
A)4B) 3C) 2D) 1
long fun( int n)
{ long s;
if(n==1||n==2) s=2;
C)可以对整型数组进行整体输入、输出
D)不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
5.有以下程序,执行后输出结果是
main()
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
A)赋初值的字符串有错B) 6,7C) 5,6D) 6,6
单选题
1.给出以下定义:
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的叙述为
A)数组x和数组y等价B)数组x和数组y的长度相同
C)数组x的长度大于数组y的长度D)数组x的长度小于数组y的长度
2.设有数组定义:char array[ ]="chinr",则数组array所占的空间为
else k=0;
24.阅读以下程序:程序运行后,如果从键盘上输人5,则输出结果是
main()
{ int x;
scanf("%d",&x);
if(x--<5) printf("%d",x);
else printf("%d",பைடு நூலகம்++);
}
A) 3B)4C) 5D) 6
25.假定w、x、y、z、m均为int型变量,有如下程序段:
A)15B)48C)24D)60
47.设有“char s[]="Program", *p=s;",则以下叙述中正确的是______。
A)数组s的内容与指针变量p中内容相同
else s=n-fun(n-1);
return s;
}
main()
{ printf("%ld\n",fun(3));
}
40.设有如下定义,下面各输入语句中错误的是______。
struct ss
{ char name[10];
int age;
char sex;
} std[3],*p=std;
A) scanf("%d",&(*p).age);B) scanf("%c",&std[0].sex);
main()
{double d=3.2;int x,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n", d*y);
}
18.下列程序执行后的输出结果是(小数点后只写一位)
A)6 6 6.0 6.0B)6 6 6.76.7C)6 6 6.0 6.7D)6 6 6.7 6.0
main()
C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数
21.下列选项中,合法的C语言关键字是:
A) VARB) cherC) integerD) default
22.在一个C语言程序中
A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现
C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置
C) printf是C语句,但#define不是D) #define和printf都不是C语句
43.若有以下定义和语句char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A');则输出结果是______。
A) 2,MB) 3,EC)2,E
D)输出项与对应的格式控制不一致,输出结果不确定
{ double d;float f;long l;int i;
i=f=l=d=20/3;
printf(”%d%ld%f%f\n”,i,l,f,d);
19.设有说明语句:char a='\72';则变量a
A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法
20.下列叙述中正确的是:
A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种
44.以下对C语言函数的描述中,正确的是______。
A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B) C函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数
D) C程序中有调用关系的所有函数必须放在同一个源程序文件中
45.若执行以下程序时从键盘上输入9,则输出结果是______。
37.有以下程序,执行后输出结果是
main( )
{ char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};
printf("%d\n",strlen(p[4]));
}
A)2B)3C)4D)5
38.若有以下调用语句,则不正确的fun函数的首部是
A) void fun( int m,int x[ ])B) void fun( int s, int h[41])
A) *pB) a[10]C) *aD) a[p-a]
33.若有以下的定义:
int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a;则值为3的表达式是
A) p+=2; *(p++);B) p+=2;*++p;C) p+=3; *p++;D) p+=2;++*p;
34.设有如下定义,若有p=&data;,则对data中的a域的正确引用是
A) scanf("%2d%2d%2d",&i,&j,&k);B) scanf(""%d %d %d",&i,&j,&k);
C) scanf("%d,%d,%d",&i,&j,&k);D) scanf("i=%d,j=%d,k=%d",&i,&j,&k);
17.下列程序的输出结果是:
A)3B)3.2C)0D)3.07
6.若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是a=1234 b=5。
char a[10],b;
scanf(“a=%s b=%c”,a,&b);
相关文档
最新文档