C语言期末试卷

合集下载

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案

最新c语言期末考试试题及答案1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。

A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。

A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

C期末考试复习题(答案)

C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。

A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。

A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。

A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。

c语言期末复习试题附答案

c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。

*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。

c语言期末测试题(附答案)

c语言期末测试题(附答案)

** 课程代码:A100002座位号:《计算机技术基础(C语言)》试卷A姓名: 学号: 专业:学院: 班级:20 年月日第一部分选择题(共 30 分)一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分)1、以下关于C语言标识符的描述中,正确的是【】。

A)标识符可以由汉字组成B)标识符只能以字母开头C)关键字可以作为用户标识符D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。

int i,j,k;scanf(“%d,%3d%d”,&i,&j,&k);printf(“%d,%d,%d\n”,i,j,k);A)12345678 B)123,456,78 C)123,45678 D)123,*456783、判断char类型的变量c1是否为数字字符的正确表达式为【】。

A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。

A)’a’&&’b’ B)a<=b C)((a>b)||(b<c) D)(!(a+b)==c&&a)5、已知:int a[2][3]; 则对数组元素的非法引用是【】A. *(a[0]+2)B. a[1][3] C . a[1][0] D. *(*(a+1)+2)6、在循环语句的循环体中执行break语句,其作用是【】。

A)跳出该循环体,提前结束循环B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。

c语言期末考试练习题1(含答案)

c语言期末考试练习题1(含答案)

一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。

A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。

A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int main( ){ int i,j,x=0;for (i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if (j%2) continue;x++;}x++;}printf ("x= %d \n",x);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。

C语言期末考测试卷及其标准答案

C语言期末考测试卷及其标准答案

C语言期耒考试卷及其答案—选择题(7分,每小题0.5分)1・C语言源程序的基本单位是(A过程B函数C子程序D标识符2下列程序的输出结果是(九main(){int a=7,b=53 printf(H%d\n'\b=b/a) o}A5B1 CO D不确定值3•假设变量比b均为整型,表达式 ($二54=2,臼Ab?a++:b++,a+b)的值是()。

A7B8C9D2 4•设a为int型娅,执行下列赋值语句后,a的取值分别是()。

a=125.534。

吐(int) 125.521 %4。

a=5«2。

A125,31J B125J,20C 125,31,20 D 125.534,2,205•设有如下程序段,下面描述中正确的是()。

int k=10 □ - while(k-O) k=k-1 oA循环执彳产次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一•次6•以下程序的输出结果为(儿int i。

void prt() [for(i=50 i<8. i++) printf(r,%c M/*% printf(g } main(){for(i=5a i<-8o i++)Prmtf()o } 7•在C语言程序中,以下说法正确的是(九AT *** C *** *** D ***A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的宦义利函数的调用者阿以嵌套8.以下函数调用语句中含有()个实参。

func((e1 ,e2),(e3,e4,e5))oA2B 3 C 5 D 语法错误 9以下程序的输出结果为()。

#define ADD(x) x*x main() {int a=4?b=6,c=7,d-ADD(a+b)*Co printf(,,d=%d M ,d). }Ad=70B d 二80 C d=140 D d=700w 分配()字节的空间。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

c语言期末复习试卷

c语言期末复习试卷

复习题(一)1。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1.以下叙述中正确的是()。

A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点2.以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3.以下叙述中正确的是()。

A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分4.以下有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行一次C.循环执行两次D.有语法错误6.以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。

A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。

C语言期末试卷

C语言期末试卷

37、有以下程序: main() {int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}}; int s=0,i; for(i=0;i<4;i++) s+=aa[i][2]; printf("%d",s); } 程序运行后的输出结果是( )。(2分)
A、预处理命令行都必须以“#”号开始,结尾不加分号 B、在程序中凡是以“#”开始的语句行都是预处理命令行
C、C程序在执行过程中对预处理命令进行处理 D、预处理命令可以放在程序的任何位置
33、fwrite函数的一般调用形式是( )。(1分)
A、fwrite(buffer,count,size,fp) B、fwrite(fp,size,count,buffer)
C、(c>=2&&c<=6)&&!(c%2) D、(c>=2&&c<=6)&&(c%2!=1)
16、main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的输出结果是( )。(1分)
A、2 0 B、3 1
C、3 2 1 0 D、2 1 0
5、设int a[2][3]={{5},{6}}; 则数组元素的值为5。
17、若a=3,b=4,c=5,d=6,则条件表达式a<b?a:c<d?c:d的值是()。(1分)
A、4 B、3
C、2 D、1
18、下列关于逻辑运算符两侧运算对象的叙述中正确的是()。(1分)
A、只能是整数0或1 B、只能是整数0或非0

期末考卷C语言样题1

期末考卷C语言样题1

D) C 语言程序中的 main()函数必须放在程序的开始部分
(5)C 语言中最简单的数据类型包括:( )
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型
(6)结构化程序设计所规定的三种基本控制结构是:( )
A)输入、处理、输出 B)树形、网形、环形
C) (x>=y>=z)
D) (x>=y)&(Y>=z)
(15) 若有定义:int a=7,float x=2.5,y=4.7;,则表达式 x+a%3*(int)(x+y)%2/4 的值
为:( )
A) 3.5 B) 2.75 C) 2.5 D)0
(16)若变量 a 是 int 类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是:( )
printf("\"%s\"\n",ch[1]);
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
(35) 如 a=-2, b=3 表达式 (a<b) ? a : b 的结果为:( )
A、1
B、-2
C、3
D、-6
(36) 以下程序中的 for 循环执行的次数是:( )
#define N 2
C)顺序、选择、循环 D)主程序、子程序、函数
(7)下列关于数组的说明错误的是:( )
A) float f[][3]={1,2,6,4,8,9}
B)char d[10]=”acvdf\n”
C) int b[10]={5,7,24}

C语言程序设计期末考试试题及参考答案

C语言程序设计期末考试试题及参考答案

一、单项选择题(每题1分,共20分)(1)()是构成C语言程序的基本单位。

A)子例程B)过程C)子程序D)函数(2)下面标识符中正确的是()。

A) d&ef B) 6a C) z4x5c D) a3/b4(3)C语言规定,函数返回值的类型是由()。

A) return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定(4)以下选项中非法的表达式是()。

A) 0<=x<100 B) x+l=x+l C) (char)(65+3) D) i=j=0(5)表达式3.6-5/2+1.2+5%2 的值是()。

A) 3.8 B) 4.8 C) 3.3 D) 4.3(6)设int a=12,则执行完语句a+=a-=a*a后,a的值是()。

A) 552 B) -264 C) 144 D) 264(7)对if语句中表达式的类型,下面正确的描述是()。

A)必须是关系表达式B)必须是关系表达式或逻辑表达式C)必须是关系表达式或算术表达式D)可以是任意表达式⑻设有定义:intnl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是.A) *p=*q; B) p=q; C) *p=&nl; D) p=*q;(9)有以下程序#include <stdio.h>void main()( char cl,c2;cl='A'+'8'*4';c2='A'+'8'-'5‘;printf("%c,%d\n”,cl,c2); }已知字母A的ASCII码为65,程序运行后的输出结果是()。

A) E,D B) D,69 C) E,68 D)输出无定值(10)下列叙述中正确的是()。

A) break语句只能用于switch语句B)在switch语句中必须使用defaultC) break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(11)设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是()。

C语言期末考试测试试卷(较难)

C语言期末考试测试试卷(较难)

一、选择题(每题2分,共20分)1. 以下关于指针的说法中,错误的是()A. 指针是一个变量,其值为另一个变量的地址B. 指针变量的值可以改变,但其指向的内存地址不能改变C. 指针变量的类型决定了其所指向的数据类型D. 指针变量可以进行算术运算2. 以下关于结构体的说法中,正确的是()A. 结构体变量的成员可以是另一个结构体类型B. 结构体变量的大小等于其所有成员大小之和C. 结构体变量可以直接赋值给另一个结构体变量D. 结构体变量不能作为函数的参数传递3. 以下关于文件操作的说法中,错误的是()A. fopen()函数用于打开文件B. fclose()函数用于关闭文件C. fprintf()函数用于向文件写入格式化数据D. fscanf()函数用于从文件读取格式化数据4. 以下关于动态内存分配的说法中,正确的是()A. malloc()函数用于分配内存,但不需要释放B. calloc()函数用于分配内存,并将内存初始化为0C. realloc()函数用于重新分配内存,但不能改变原有内存的大小D. free()函数用于释放内存,但不能释放由malloc()函数分配的内存5. 以下关于链表的说法中,错误的是()A. 链表是一种动态数据结构,可以动态地插入和删除元素B. 链表中的每个节点都包含数据域和指针域C. 链表的最后一个节点的指针域为NULLD. 链表的插入和删除操作的时间复杂度为O(n)6. 以下关于递归函数的说法中,正确的是()A. 递归函数必须有递归出口,否则会导致无限递归B. 递归函数的时间复杂度一定高于非递归函数C. 递归函数的空间复杂度一定低于非递归函数D. 递归函数的参数必须是指针类型7. 以下关于二维数组的说法中,错误的是()A. 二维数组的每个元素都是一维数组B. 二维数组的行数和列数必须在定义时指定C. 二维数组的元素在内存中是连续存储的D. 二维数组的元素可以通过下标访问8. 以下关于函数指针的说法中,正确的是()A. 函数指针可以指向任意类型的函数B. 函数指针可以作为函数的参数传递C. 函数指针可以直接调用函数D. 函数指针不能进行赋值操作9. 以下关于位运算的说法中,错误的是()A. 位运算的操作数必须是整数类型B. 位运算的优先级高于算术运算C. 位运算的结果是一个整数D. 位运算可以用于实现快速的乘除运算10. 以下关于预处理器的说法中,正确的是()A. 预处理器是在编译阶段之前执行的B. 预处理器可以用于定义宏和条件编译C. 预处理器可以用于包含头文件D. 以上都对二、填空题(每空1分,共10分)1. 在C语言中,字符串是以_____结尾的字符数组。

C语言期末考试试卷及答案3

C语言期末考试试卷及答案3

一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。

C语言期末考试试题及答案

C语言期末考试试题及答案

C语言期末考试试卷共7 页第 1 页一、单选题(每题2分,共30分)1.以下叙述正确的是 ______ 。

A)C程序的每行只能写一条语句 B)语言本身没有输入输出语句C)在C程序中,注释说明只能位于一条语句的后面D)在多函数的程序中,main函数必须放在其它子函数的定义之前2.以下不正确的常量表示形式是 ______ 。

A) 0。

45 B)0XF5 C)‘\85’D) 32。

67E—53. 以下不正确的变量名是 ______ 。

A)R&B B) _max C) INT D) SUM34. 以下正确的一组语句是 ________.A) int x=y=5; B) int n;scanf(”%d",&n);int a[n];C) char a,*p; p=&a; D) char s[10]; s=”hello”;5。

若以下变量均已正确定义和赋值,则正确的语句是 ________。

A) a=b==5; B) y=x%2。

0; C) x+y=10; D) n=8=2*4;6.下面各组中与给出的程序段功能不等价的是 ________。

i f(a>0) b=1;else if(a==0) b=0;else b=-1;A)if(a〉0) b=1; B)if(a〉0) b=1; C)if(a〉0) b=1; D)if(a〉=0) if(a==0) b=0; else if(a==0) b=0; if(a>0) b=1;if(a<0) b=—1; if(a<0) b=—1; else b=-1; if(a==0) b=0;else b=0; if(a〈0) b=—1;7。

运行下面程序段,若输入abc#〈CR>,则程序输出是:________.char c;int v1=0,v2=0;while((c=getchar())!=’#'){ switch(c){case ’a’:v1++;default :v1++;v2++;case ’c':v2++;}}printf(”v1=%d,v2=%d\n”,v1,v2);A)2,2 B)3,5 C) 3,4 D)2,58.对for (表达式1; ;表达式3){…}可以理解为:________。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

C语言期末试卷

C语言期末试卷
A、do while循环的循环体不能是复合语句 B、do while循环允许从循环体外转到循环体内
C、while循环的循环体至少被执行一次 D、do while循环的循环体至少被执行一次
19、若有定义char str[]= “very good”,则str的长度为( )。(1分)
A、8 B、9
27、复合语句中定义的变量的作用范围是()(1分)
A、整个源文件 B、整个函数
C、整个程序 D、所定义的复合语句
28、设已有定义:float x;,则下列对指针变量p进行定义且赋初值的语句中正确的是( )。(1分)
A、float *p=1024; B、int *p=(float)x;
C、定义数组长度时可以用常量或变量 D、可以作参数传递
23、若有说明:int a[][3]={0,0};则不正确的叙述是( )。(1分)
A、数组a的每个元素的初值都是0 B、数组a的第一维大小为1
C、数组a的行数为1 D、只有元素a[0][0]和a[0][1]初值为0,其余元素得不到初值0
A、if(x++) ; B、if(x>y&&y!=0)
C、if (x>0) x-- else y++ D、if (y<0){;} else x++;
15、在嵌套使用if语句时,C语言规定else总是()。(1分)
A、和之前与其具有相同缩进位置的if配对 B、和之前与其最近的if配对
A、自动(auto) B、静态(static)
C、外部(extern) D、寄存器(register)
26、下述函数定义形式正确的是()(1分)

C语言期末考试题 含答案

C语言期末考试题 含答案

《C 语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是( )A )C 语言的源程序不必通过编译就可以直接运行。

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

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

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

2、一个C 语言的源程序中( )A )必须有一个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为用户标识符的是( )A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是( )A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不.相符的是( )A )(a+b)*h/2B )(1/2)*(a+b)*hC )(a+b)*h*1/2D )h/2*(a+b)6、C 语言中用于结构化程序设计的3种基本结构是( )A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下面条件表达式等价的是( )A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#include <stdio.h>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执行后的输出结果是( )A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#include <stdio.h>void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执行后的输出结果是( )A )自然数1~9的累加和B )自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);二、填空题(10x2’=20’)11、C语言描述“x和y都大于或等于z”的表达式是:。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A、2030,40 B、20 30 40 C、20, 30 40 D、20, 30,40
7.执行语句printf(”__D____”, 2);将得到出错信息。
A、%d B、%o C、%x D、%f
8.设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B____个元素。
A、12 B、13 C、14 D、15
9.设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___B__。
A、2 B、3 C、4 D、&a[0]+1
10.若变量已正确定义并赋值,表达式-k++等价于__A____。
A、-(k++) B、(-k)++ C、-(k+1) D、-(++k)
11.在C语言程序中,在函数内部定义的变量称为__D____。
A、全局变量B、全程变量C、外部变量D、内部变量
12.若x是整型变量,表达式(x=10.0/4.0)的值是__D___。
A、2.5 B、2.0 C、3 D、2
13.对于以下的变量定义,表达式__A____是正确的。
struct node {
char s[10];
int k;
} p[4];
A、p->k=2 B、p[0].s=“abc”C、p[0]->k=2 D、p->s=‘a’
14.下列运算符中,优先级从高到低依次为__D___。
A、&&,!,|| B、||,&&,! C、&&,||,! D、!,&&,||
15.下列程序段的输出结果是__B___。
{ int n; char c; double x;}STD;
则以下选项中,能正确定义结构体数组并赋初值的语句是(A)
A) STD tt[2]={{1,'A',62},{2, 'B',75}};
B) STD tt[2]={1,"A",62},2, "B",75};
C) struct tt[2]={{1,'A'},{2, 'B'}};
4.表达式!(x>0||y>0)等价于__D___。
A、!x>0||!y>0 B、!(x>0)||!(y>0) C、!x>0&a&&!(y>0)
5.若变量已正确定义并赋值,表达式__D____不符合C语言语法。
A、4&&3 B、+a C、a=b=5 D、int(3.14)
6.若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。
printf(“%d%d%d”,a[2],a[5],a[8]);
}
A) 258 B) 741 C) 852 D) 369
19.以下程序的输出结果是(B)
main()
{ char st[20]=“hello\0\t\\\”;
printf(%d %d \n”,strlen(st),sizeof(st));
D)structtt[2]={{1,"A",62.5},{2, "B",75.0}};
27.若变量c为char类型,则能正确判断出c为小写字母的表达式是(D)。
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
20.以下程序的输出结果是(D)
main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf(“%d\n”,a);
C) typedefv1 int v3; D) typedef v4: int;
17.以下选项中,非法的字符常量是(C)
A)‘\t’B)‘\17’C)“n”D)‘\xaa’
18.以下程序的输出结果是(C)
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
22.以下程序段的输出结果是(A)
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A) 9 B) 12 C) 13 D) 14
23.以下程序的输出结果是(B)
main()
{ char ch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
一、单项选择题
1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。
A、”.c”B、“.obj”C、“.exe”D、“.bas”
2.以下选项中不正确的整型常量是_C____。
A、12L B、-10 C、1,900 D、123U
3.表达式___C___的值是0。
A、3%5 B、3/5.0 C、3/5 D、3<5
25.有以下程序
main()
{ char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是(C)
A) n,two B) t,one C)w,one D) o,two
26.设有如下说明
typedef struct
}
A) 101 B) 6 C) 5 D) 4
21.以下程序的输出结果是(D)
union myun
{ struct
{ int x, y, z; } u;
int k;
} a;
main()
{ a.u.x=4; a.u.y=5; a.u.z=6;
a.k=0;
printf(%d\n”,a.u.x);
}
A) 4 B) 5 C) 6 D) 0
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
24.不合法的main函数命令行参数表示形式是(C)
A) main(int a,char *c[]) B) main(int arc,char **arv)
C) main(int argc,char *argv) D) main(int argv,char *argc[])
int *p, *q, k = 1, j=10 ;
p=&j; q = &k ; p = q ; (*p)++;
printf("%d",*q);
A、1 B、2 C、10 D、11
16.以下各选项企图说明一种新的类型名,其中正确的是水量(C)
A) typedef v1 int; B) typedef v2=int;
相关文档
最新文档