C期末复习试题

合集下载

C语言期末复习题

C语言期末复习题

第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。

A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。

A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以。

A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。

A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。

A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是: A 。

A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。

A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: D 。

A. ...\2‟ B. "" C. ...3‟ D. (483)9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。

int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。

A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

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语言程序设计期末考试复习题及答案[]

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。

C语言期末复习卷习题

C语言期末复习卷习题

期末总复习(基础知识+程序设计部分)一.填空1.已知char ch='A’;则下列表达式的值是: aCh=(ch>=’A’&&ch〈=’Z’)? (ch+32):ch;2。

若x=1,y=2,z=3, 则表达式z+=++x+y++之值是73.若x=2,y=3,则x%=y+3之值为 24.. 若有定义int y=3; float z=5.2, x=4.8;则表达式y+=(int)x+x+z的值为175。

设x,y,z为int型变量,且x=3,y=—4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z) 12)!(x>y)+(y!=z)||(x+y)&&(y-z)03)x++-y+(++z)136。

设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z (x〈z&&y>z||x>z&&y〈z )==12) x,y和z中有两个为负数(x〈0&&y<0&&z>=0||z<0&&y<0&&x〉=0||y<0&&x〈0&&z>=0)==13)y是奇数y%2 !=07。

下面for循环语句最多可执行 4 次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8。

设i,j,k均为int型变量,则执行以下for语句后,k的值是10for (i=0,j=10 ;i〈=j ;i++,j——)k=i+j ;9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为7 y的值为9z的值为7m=10 ;n=5;x=(-—m==n++)?—-m : ++n;y=m++;z=n;10。

若有说明语句: w=1,x=2,y=3,z=4; 则表达式w〉x? w:z〉y?z:x值是 4 11。

若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储13。

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

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

c语言期末复习试题附答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项不是合法的数据类型?A. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。

答案:42. C语言中,一个浮点型数据占____个字节。

答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。

答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。

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

C语言程序设计期末考试复习题及答案
5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )
A)称为函数的直接递归调用 B)称为函数的间接递归调用
C)称为函数的循环调用 D)C语言中不允许这样的递归调用
6.以下叙述中正确的是 ( A )
{ char a='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);}
程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c
9.有以下函数定义:(c)
void fun(int n, double x) { …… }
1 main()
2 { int x;
3 if (x=90) printf(“right”);
4 else printf(“error”);
}
行号: 改为: main()
2 { char s[]=”china”;
(4) main()
{ int a,b;
a=5;
b=8;
p(a,b);
p(a+b,a);
}
p(int x,int y)
{
y=x+y;
printf(“%d %d”,x,y);
}
程序的运行结果是:
A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);

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

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

C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上。

答在试卷上不得分。

(1)C语言规定:在一个源程序中,main函数的位置 D 。

A)必须在最后B)必须在系统调用的库函数的后面。

C)必须在最开始。

D)可以任意⑵C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A。

A)必须为字母或下划线。

B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

⑶ 下面四个选项中,均是正确的八进制数或十六进制数的选项是 ______________B ______ 。

A)-10 0x8f -011 B) 010 -0x11 OxflC) 0abc -017 0xc D) 0a12 -0x123 -0xa⑷ C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。

A)0~65535 B)0~32767C)-32767 ~ 32768 D)-32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2.5 , y = 4.7 ;则表达式x + a %3 * (int) (x + y) % 2/4 的值是 DA) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000⑹已知ch是字符型变量,下面不正确的赋值语句是 BA ) ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D)ch= '7' + 6;(7) 设x , y 和z 是int 型变量,且x = 3, y = 4 , z = 5则下面表达式中值为0的是 ______ A _______ 。

A ) !((x < y )&&!z || 1) B) ' x ' && ' y 'C) x ||y+z && y - zD)x <= y(8 )设有程序段int k = 10 ; while ( k = 0 )k = k - 1 ;以下描述正确的是A(9)以下C 程序正确的运行结果是 main () {Io ngy = =23456;printf ( " y=% 3x \ n ", y);printf ( " y=% 8x \ n ", y);printf ( " y=% # 8x \ n ", y);}A)y = 5ba0 5ba0B ) y =5ba0 C)y = 5ba0D ) yy =5ba0y = 5ba0 y = bba0 y5ba0A)循环体语句一次也不执行。

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程序》期末复习题库

1、用C语言编写的代码程序()。

(A)可立即执行(B)是一个源程序(C)经过编译即可执行(D)经过编译解释即可执行2、以下程序的输出结果是()。

main(){int a=12,b=12;printf("%d,%d\n",--a,++b);//(编译时--中间无空格)}(A)1010(B)1212(C)1110(D)11133、设有int x=11;则表达式(x++*1/3)的值是()。

(A)3(B)4(C)11(D)124、C语言中运算对象必须是整型的运算符是()。

(A)%=(B)/(C)=(D)〈=5、C语言中运算优先级最低的运算符是()。

A、%B、*=C、||D、==6、以下程序的输出结果是()。

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);}A、100B、101C、4D、17、下面程序的输出是()。

main(){int x=10,y=3;printf("%d\n",y=x/y);}A、0B、1C、3D、不确定的值8、以下程序的输出结果是()。

main(){int i=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);}(A)8,10,16(B)8,10,10(C)10,10,10(D)10,10,169、为表示79<x<90,应用的C语言表达式是()。

A、(x>79)&&(x<90)B、(x>79)&(x<90)C、79<x<90D、(x>79)||(x<90)10、以下选项中,与k=n++完全等价的表达式是()。

A、k=n,n=n+1B、n=n+1,k=nC、k=++nD、k+=n+111、有如下程序,该程序的输出结果是()。

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

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

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。

C语言期末复习

C语言期末复习

期末考试复习:第一、考试题型与分值:考试时间:90分钟考试题型:单选题:15*2’=30填空题:10*1’=10程序阅读题:4*5’=20程序填空题:2小题,每空5分,共25分程序编写题;2题,共计15分第二部分:考试题型一、选择题:语句if (!i ) i=i+1 else i=i-1; 中的条件表达式 !i 等价于()。

A)i==0B)i!=1 C)i!=0 D)-i二、填空题若有定义:int a;表达式(a=2*5,a*2,a+7),a+6的值是______________。

三、程序阅读题1.以下程序的输出结果是___________。

#include <stdio>Void main ( ){int i=011,j=11,k=0x11;printf (“%d,%d,%d\n”,i,j,k); 9 11 17}2. 以下程序的输出结果是___________。

#include <stdio.h>Void main(){ int I;int a[4][4]={{11, ,45,12, 13},{14,78, 15, 16}, {17, ,96,18, 19 }{12,89,75,65}};for(I=0 ; I<4; I++)printf(“%3d”,a[I][I]);printf(“\n”);for(I=0;I<4;I++)printf(“%3d”,a[I][3-I]);printf(“\n”);}四、程序填空题下面程序是求出圆的周长,并输出结果,请对下面程序填空。

#include<stdio.h>#define PI 3.1416void main(){float r,s;printf(“Enter a number_r:”);__________________;s=2*PI*r;printf(“s=%f”, __ ____);}五、编程题:第三部分:复习要点1、书本上的每个项目的选择题()。

C语言 期末复习

C语言 期末复习

第一章
1)合法的用户标识符由字母,数字,下划线组成。并且 第一个必须为字母或则是下划线。关键字不可以作为用户 标识符号。main define scanf printf 都是关键字。 If是可以做为用户标识符。因为If中的第一个字母大写了 ,所以不是关键字。 2)实型数据的合法形式:
2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。
一个=表赋值,==表判断
• printf输出语句(“ %d%f%ld%lf ”,a,b,c,d);
int float long double
•}
函数调用
• int ss(int a,int b[],int *q) •{
•} • main() •{ • int x,s[10],y; • ss(x,s,&y);
B. 3
C. 4
D. 6
• 69.若已定义 int x=-16,y=-12,z; 语句z=x<=y; 运行后z的值为(
)。
B
A..t.
B. 1
C. .f.
D. 0
• 71. 若定义 int a=2,b=3; 则表达式 !a||b 的值为( )。
A. 0
B. 1
C. 2
D. 3 B

73. 下列表达式( 数。
)。 B
A.10
B. 0
C. 34
D. 24
• 46.若已定义 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b 的值为( C )。
A. 0
B. 3
C. 1
D. 2

c期末考试复习题 (1)

c期末考试复习题 (1)

一选择题1、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是( B )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性2、C语言中最简单的数据类型包括( B )A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型3、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( D )A、6.500000B、6C、5.500000D、6.0000004、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);6、对两个字符数组a和b进行初始化char a[]="ABCDEF";char b[ ]={'A','B','C','D','E','F'}; 则以下叙述正确的是( D )A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长7、为了避免在嵌套的条件语句if――else中产生二义性,c语言规定:else子句总是与( B )配对A、缩排位置相同的ifB、其之前最近的ifC、其之后最近的ifD、同一行上的if9、以下错误的if语句是( C )A、if(x>y) z=x;B、if(x= =y) z=0;C、if(x!=y) printf("%d",x) else printf("%d",y);D、if(x<y) { x++;y--;}10、若有说明:int a[3][4];则对a数组元素的非法引用是( D )A、a[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]11、程序char c[5]={‘a’,’b’,’\0’,’c’c,’\0’}; printf(“%s”,c);}的运行结果是( D )A、'a''b'B、abC、ab cD、ab空格12、一个C程序的执行是从( A )A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束13、若变量已正确定义,以下非法的表达式是( B )A、a/=b+cB、a%(4.0)C、a=1/2*(x=y=20,x*3)D、a=b=c14、判断字符串a是否大于b,应当使用( D )A、if (a>b)B、if (strcmp(a,b))C、if (strcmp(b,a)>0)D、if (strcmp(a,b)>0)15、以下关于运算符优先顺序的描述中正确的是( C )A、关系运算符<算术运算符<赋值运算符<逻辑与运算符B、逻辑与运算符<关系运算符<算术运算符<赋值运算符C、赋值运算符<逻辑与运算符<关系运算符<算术运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符16、使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:( A )A、a=2.2,b=3B、a=2.2 b=3C、2.2 3D、2.2,317、表示关系12<=x<=y的C语言表达式为:( B )A、(12<=x)&(x<=y)B、(12<=x)&&(x<=y)C、(12<=x)|(x<=y)D、(12<=x)||(x<=y)18、语句for(a=0,b=0;b!=100&&a<5;a++) scanf(“%d”,&b); scanf最多可执行次数为:( C )A、4B、6C、5D、121、6位无符号二进制数能表示的最大十进整数是( B )A) 64 B)63 C)32 D)3122、以下合法的用户标识符是( D )A)1st B) break C) Two Words D) B75723、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是( D )A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值25、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( A )A、0B、0.5C、1D、226、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )A、AB、aC、ZD、z27、若已定义char s[10];在下面表达式中不能表示s[1]的地址的是( B )A、s+1B、s++C、&s[0]+1D、&s[1]28、对两个字符数组a和b进行初始化char a[ ]="ABCDEF"; char b[ ]={'A','B','C','D','E','F'}; 则以下叙述正确的是( D )A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长29、有说明:char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};则表达式*language[1]>*language[2]比较的是( A )A、字符B和字符PB、字符串FORTRAN和字符串BASICC、字符F和字符BD、字符串BASIC和字符串PASCAL30、已知:int a[]={1,2,3,4,5,6},*p=a;则值为3的表达式是( A )A、p+=2,*(p++)B、p+=2,*++pC、p+=3,*p++D、p+=2,++*p31、下列关于赋值运算符的表述中,错误的是( B )A、赋值运算符优先级高于逗号运算符B、赋值运算符的结合性是从左至右C、赋值运算符是双目运算符D、赋值运算符可在表达式中连用32、设x,y为浮点型变量,合法赋值语句是( A )A、x=8+y;B、(float)3C、y=(x%2)/10D、*x=10;33、已定义ch为字符型变量,以下赋值语句中错误的是( B )A、ch='\';B、ch=62+3;C、ch=' ';D、ch='\xaa';34 、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( C )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);35、若w,x,y,z,m均为int型变量,则执行语句w=1;x=2;y=3;z=4; m=(w<y)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;后的m值是( A )A、1B、2C、3D、436、c语言中( D )A、不能使用do-while语句构成的循环B、do-while语句构成的循环必须用break语句才能退出C、do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D、do-while语句构成的循环,当while语句中的表达式值为零时结束循环37、以下描述正确的是( C )A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

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语言期末复习题

本科C程序设计期末复习题一,选择1.C 语言程序中可以对程序进行注释,注释部分必须用符号__C___括起来。

A.‘{‘ 和’}’B.‘[‘和’]’C.“/*”和”*/”D.“*/”和”/*”2.C 语言程序的三种基本结构是顺序结构、选择结构和__B____结构。

A.递归B.循环 C.转移 D.嵌套3.若变量已正确定义,表达式(j=3, j++) 的值是__B___ 。

A.3B. 4C.5D.04.已知字符‘a’的ASCII码为 97 ,执行下列语句的输出是__D___。

printf ("%d, %c", ’b’, ’b’+1 ) ;A.98, bB.语句不合法C.98, 99D.98, c5.表达式strcmp(“box”, “boss”) 的值是一个___A____。

A.正数B.负数C.0D.不确定的数(答案是1,也就是正数。

strcmp是这样比较的,两个字符串,从第一个字符开始比,如果相同,继续向下比,如果不同,看这两个字符的ASCII码,如果第一个字符串的比较大,则返回1,否则返回-1。

这个题目两个字符串前面两个字符"bo"是一样的,不用看。

比较第三个字符,'x'的ASCII码是120,'s'的ASCII码是115,也就是'x'>'s',所以第一个字符串比较大,返回1)6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_B____的值为6。

A.a[3][2]B.a[2][1]C.a[1][2]D.a[2][3](a[1][2]值为6,行下标从0到1,列下标从0到2,最后一个元素是a[1][2])7.要调用数学函数时,在#include命令行中应包含__C___。

A.”stdio.h”B.”string.h”C.”math.h”D.”ctype.h”8. 对于以下结构定义,++p->str中的++加在___A__。

C 语言期末复习题

C 语言期末复习题

一、简答题1、请问指针有哪些类型?指针的类型,跟他所指向的数据结构有关,基本类型的指针指向基本类型的数据结构。

2、函数式宏定义和函数调有什么不同?(1)函数式宏定义的参数没有类型,预处理器只负责做形式上的替换,而不做参数类型检查,所以传参时要格外小心。

(2)调用真正函数的代码和调用函数式宏定义的代码编译生成的指令不同。

(3)函数式宏定义要注意格式,尤其是括号。

(4)若函数参数为表达式,则普通函数的调用与函数式宏定义的替换过程是不一样的。

(5)函数式宏定义往往会导致较低的代码执行效率。

3、请问指针编程有哪些优点?(1)提高传输速度,又节省大量内存。

(2)可以用来做数据类型转换,比较常用于通讯缓冲区的填充。

(3)可以用在大量分支处理的实例当中。

(4)在数据结构中,链表、树、图等大量的应用都离不开指针。

4、C语言中,变量为什么要先定义后使用?(1)对于编译器处理更方便。

(2)不容易出错。

(3)程序更清晰。

5、二维数组的初始化定义的正确形式有哪些?请举例说明(1)分行赋初值例如:int a[2][3]={ {1,3,4},{2,3,1},{7,9,0} };(2)按顺序初始化例如:int a[2][3]={1,3,4,2,3,1,7,9,0};(3)省略一维长度的赋值例如:int a[][3]={1,3,4,2,3,1,7,9,0};(4)对数组的前几行元素初始化,其他元素自动初始化为0例如:int a[2][3]={ {1},{2,3} };6、while与do while相同点与不同点是什么?(1)while语句是先测试条件再执行语句,条件不符后终止;do while语句是先执行语句再测试条件,条件不符后终止,所以do while循环至少执行一次7、请写出一个C程序的构成(1)C程序是由若干个函数构成的(2)每个函数(包括主函数)的定义分为两个部分:函数说明部分和函数体。

(3)C程序中的语句最后总要有一个“分号(;)”,作为每个语句的结束。

【期末复习】C 期末复习题及答案

【期末复习】C  期末复习题及答案

优选教育资源共赢共享共进1. 下列语句中错误的是( D)A. int *p=new int(10) ;B. int *p=new int[10] ;C. int *p=new int ;D. int *p=new int[40](0)2. 假设已经有定义char *const name=”chen” ;下面的语句中正确的是( A)A. name[3]=’q’;B. name=”lin”;C. name=new char[5]D. name=new c har(‘q’);3. 下面的类型声明中正确的是(D )A. int &a[4]B. int &*p ;C. int &&q ;D. int I,*p=& I ;4. 在声明类时,下面的说法正确的是( C)A.可以在类的声明中给数据成员赋值B. 数据成员的数据类型可以是registerC. private、public、protected可以按任意顺序出现D. 没有用private、public、protected定义的数据成员是公有成员5. 构造函数是在(B )时被执行的。

A.程序编译B. 创建对象C. 创建类D.程序装入内存6. 在下面有关友元函数的描述中,正确的说法是(A )A. 友元函数是独立于当前类的外部函数B.一个友元函数不能同时定义为两个类的有友元函数C.友元函数必须在类的外部定义D.在外部定义友元函数时,必须加关键字friend7. 使用派生类的主要作用是(A )A.提高代码的可重用性B.提高程序的运行效率C.加强类的封装性D.实现数据的隐藏8. 关于虚函数,正确的描述是(A )A.构造函数不能是虚函数B.析构函数不能是虚函数C.虚函数可以是友元函数D.虚函数可以是静态成员函数9. 如果在基类中将成员函数show声明为不带返回值得纯虚函数,正确的写法是(C )A.virtual show( )=0;B.virtual void show( )C.virtual void show( )=0;D.void show( )=0 virtual;10. 使用myFile.open(“sales.dat”,ios::app)语句打开文件sales.dat后,则(A )A.该文件只能用于输出B.该文件只能用于输入C.该文件既能用于输出,又能用于输入D.若该文件存在,则清除该文件的内容二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class student{char name[10];int age;float aver;void printStu( ){} };void main( ){student p1,p2,p3;p1.age=16;//…}2. #include"iostream.h" class stack{public:stack(int sz); private:char *p;int size;};stack::stack(int sz) {p=new char[size=sz];}void main(){stack stt;//...}3. #include"iostream.h"class CTest{public:const int y2;CTest(int i1,int i2):y1(i1),y2(i2) {y1=10;x=y1;}int readme()const;//...private:int x;const int y1;};int CTest::readme()const{int i;i=x;x++;return x;} {CTest c(2,8);int i=c.y2;i=c.y1;}三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class toy{public:toy(int q,int p){ quan=q; price=p;}int get_quan(){return quan;}int get_price(){return price;}private:int quan,price;};int main(){toyop[2][2]={toy(10,20),toy(30,48),toy(50,68),toy( 70,80)};int i;for(i=0;i<2;i++){cout<<op[i][0].get_quan()<<",";cout<<op[i][0].get_price()<<"\n";cout<<op[i][1].get_price()<<"\n"; }cout<<"\n";return 0;}2.#include"iostream.h"class Stock{public:void print(){cout<<"Stock class.\n";}};class Der1_Stock:public Stock{public:void print(){cout<<"Deri1_Stock class.\n";} };class Der2_Stock:public Stock{public:void print(){cout<<"Deri2_Stock class.\n";} };void main(){Stock s1;Stock *ptr;Der1_Stock d1; ptr=&s1;ptr->print();ptr=&d1;ptr->print();ptr=&d2;ptr->print();}3.#include"iostream.h" class A{public:A(int i):xi(i){}A(){xi=0;}friend A operator++(A a); friend A operator--(A &a); void print();private:int xi;};A operator++(A a){++a.xi;return a;}A operator--(A &a){--a.xi;return a;}void A::print()void main(){A i(7);++i;i.print();--i;i.print();}二 1.答案:p1.age=16; 有错(3分),因为age是私有数据成员,不能直接访问(3分)2. 答案:stack stt; 有错,(3分)类中没有定义无参构造函数(3分)3. 答案:错误1:y1=10;有错(2分),y1是常成员,不能修改(1分)错误2:x++;有错(2分),readme函数是常成员函数,不能修改对象的数据成员(1分)错误3:i=c.y1;有错(1分),y1是私有变量,不能直接存取(1分)三 1.答案:10,20;30,48;50,6870,80 2.答案:Stock class.Stock class.Stock class.3.答案:76B卷一、选择题(每题2分,共20分,答案填写在题后的表格内)1. 假设已经有定义const char *const name=”chen” ;下面的语句中正确的是(D )A. name[3]=’a’;B. name=”lin”;C. name=new char[5]D. cout<<name[3];2. 假设已经有定义const char * name=”chen” ;下面的语句中错误的是( A)A. name[3]=’q’;B. name=”lin”;C. name=new char[5]D. name=new char(‘q’);3. 在下面有关对构造函数的描述中,正确的是(B )A.构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数D. 构造函数必须定义,不能缺省4. 在下面有关析构函数特征的描述中,正确的是(C )A. 一个类可以定义多个析构函数B.析构函数名与类名完全相同C. 析构函数不能指定返回类型D.析构函数可以有一个或多个参数5. 在下面有关静态成员函数的描述中,正确的是( B)A. 在静态成员函数中可以使用this指针B.在建立对象前,就可以为静态数据成员赋值C. 静态成员函数在类外定义时,要用static前缀D. 静态成员函数只能在类外定义6. 友元的作用之一是( A)A. 提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类A.class derived::student privateB. class derived:student publicC.class derived:private student{//… }D.class derived::public student{//… }8. 要实现动态联编,派生类中的虚函数(D )A.返回的类型可以与虚函数的原型不同B.参数个数可以与虚函数的原型不同C.参数类型可以与虚函数的原型不同D.以上都不对9. 有关运算符重载正确的描述是(D )A.C++语言允许在重载运算符时改变运算符的操作个数B. C++语言允许在重载运算符时改变运算符的优先级C. C++语言允许在重载运算符时改变运算符的结合性D. C++语言允许在重载运算符时改变运算符的原来的功能10. 假设定义了函数模板:template<class T>T max(T x,T y){ return (x>y)?x:y; }并定义了int i=6; char c=’a’; 错误的调用语句是( D)A. max( i,i)B. max(c,c)C.max((int )c,i)D.max(i,c)二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1. #include"iostream.h"class point{public:int x,y;private:point( ){x=1;y=2;}};void main( ){point cpoint;cpoint.x=2;}2. #include"iostream.h"template<class T>class Stack{public:Stack(int sz){delete []v;}void push(T x){*p++=x;}T pop(){return *--p;}int lenth()const{return (p-v);}private:T *v,*p;int size;};void main(){Stack obj(5);obj.push(10);}3.#include"iostream.h"class student{int sno;int age;void printStu( );void setSno(int d);};void printStu( ){cout<<”\nStudent No.is “<<sno<<”,”; cout<<”age is”<<age<<”.”<<endl; } void setSno(int d){sno=d;}void setAge(int a){age=a;}void main( ){student lin;lin.setSno(20**1);lin.setAge(20);三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class b1{public:b1(int ii){i=ii;}void display(){cout<<i<<endl;}protected:int i;};class b2{public:b2(int jj){j=jj;}void display(){ cout<<j<<endl;}protected:int j;};class b3:public b1,public b2{public:b3(int ii,int jj,int kk):b1(ii),b2(jj){k=kk;}void setall(int ii,int jj,int kk){i=ii;j=jj;k=kk;}void display(){cout<<i<<endl;cout<<j<<endl;cout<<k<<endl;}private:int k;};o1.display();b2 o2(50);o2.display();b3 o3(10,20,30);o3.display();o3.setall(50,60,70);o3.display();}2.#include"iostream.h"class Stock{public:virtual void print(){cout<<"Stock class.\n";}};class Der1_Stock:public Stock {public:void print(){cout<<"Deri1_Stock class.\n";}}; class Der2_Stock:public Stock {public:void print(){cout<<"Deri2_Stock class.\n";}}; void main(){Stock s1;Stock *ptr;Der1_Stock d1;Der2_Stock d2;ptr=&s1;ptr->print();ptr=&d1;ptr->print();3.#include<iostream.h>const int size=10;template<class Type> //声明一个类模板class stack{ public:void init(){ tos=0; }void push(Type ch); //参数取Type类型Type pop(); //返回类型取Type类型private:Type stck[size]; //数组的类型为类型参数Type,即可取任意类型 int tos;};template <class Type>void stack<Type>::push(Type ob){ if (tos==size){ cout<<"stack is full"; return ; }stck[tos]=ob; tos++; }template <class Type>Type stack <Type>::pop(){ if (tos==0){ cout<<"stack is empty";return 0;}tos--;return stck[tos];}int main(){ //定义字符堆栈stack <char> s1,s2; //创建两个模板参数为char型的对象int i;s1.init(); s2.init();s1.push('a'); s2.push('x');s1.push('c'); s2.push('z');for(i=0;i<3;i++) cout<<"pop s1: "<<s1.pop()<<endl;for(i=0;i<3;i++) cout<<"pop s2: "<<s2.pop()<<endl;return 0;}二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1.答案:point cpoint;是错误的(3分),因为构造函数是私有成员(3分)2. 答案:Stack obj(5); 有错(3分),因为Stack是类模板,应将模板实例化,才可定义对象(3分)3.答案:错误1:printStu、setSno两个成员函数不是公有成员,不允许在类外访问(4分)错误2:成员函数在类外定义,应加上类名“student::”(2分)错误3:setAge函数应在类中说明(2分)三、写出下列程序的运行结果(前2题每题6分,第三题8分,共20分)1.答案:40 50 10 20 30 50 60 702.答案:Stock class.Deri1_Stock class.Deri2_Stock class.3.答案:pop s1:cpop s1:bpop s1:apop s2:zpop s2:ypop s2:xA 卷一、单项选择题:(每小题2分,共20分)1、假设已经有定义const char *name=”chen”;下列语句中错误的是_____________A. name[3]=’q’B. name=”lin”C. name=new char[5]D. name=new char(‘q’)2、在下列关键字中,用于说明类中公有成员的是____________A. publicB. privateC. protectedD. friend3、下列哪项不是面向对象程序设计的主要特征_______________。

C语言期末复习题附答案

C语言期末复习题附答案

1、凡是函数中未指定存储类型的局部变量,其隐含的存储类型为( A )。

A、autoB、 staticC、externD、 register2、若有定义:int *ptr[6];则标识符ptr( B )。

A、是一个指向整形变量的指针B、是一个指针数组名C、是一个指针,它指向一个含有四个整形元素的一维数组D、说明不合法3、结构化程序设计的基本结构主要是( D )A、分支结构、平行结构、循环结构B、分支结构、函数结构、循环结构C、平行结构、选择结构、函数结构D、顺序结构、选择结构、循环结构4、一个C程序中,主函数的个数是( B )。

A、2个B、 1个C、任意个D、 10个5、在Visual C++6、0环境下,C源程序文件名的默认后缀是( A )。

A、、cppB、、exeC、、objD、、dsp6、根据C语言的语法规则,下列( B )是用户定义的合法标识符A、elseB、ElseC、user$2D、5_object7、以下叙述中正确的是( C )。

A、break语句只能用于switch语句体中B、continue语句的作用是:使程序的执行流程跳出包含它的所有循环C、break 语句只能用在循环体内和switch语句体内D、在循环体内使用break语句和continue语句的作用相同8、若定义int x=136,y;,执行语句y=x/10%10;后y的值是( B )A、1B、3C、6D、09、下列关于C语言注释的叙述中错误的是( D )。

A、以"/*"开头并以"*/"结尾的字符串为C语言的注释内容B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C、程序编译时,不对注释作任何处理D、程序编译时,需要对注释进行处理10、若有定义:intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( C )。

A、 3,3B、 4,4C、 4,3D、 3,411、以下程序运行结果是( A )voidmain(){ int x=28;do{printf("%d",x--);}while(!x);}A、28B、27C、26D、012、如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为(A )。

C语言期末复习题

C语言期末复习题

C语言期末复习题您的姓名: [填空题] *_________________________________1、在每个C程序中都必须包含有这样一个函数,该函数的函数名为 [单选题]A、main(正确答案)B、MAINC、nameD、 function2、下列合法的标识符为 [单选题]A、abde+B、 #KDJFC、 67KDJD、DK3_(正确答案)3、关于字符串和字符的关系正确的是 [单选题]A、“A”与’A’是相同的B、字符串是常量,字符是变量C、“A”与’A’是不同的(正确答案)D、“A”与“A”是相同的4、以下各标识符中,合法的用户标识符组为 [单选题]A、 PAd,P#d,b-b,abc,_0123,ssipedB、cin,a10,CPP,float,del_word,signedC、void,max,hiy,<fr>,list,*jerD、a,temp,_isw,INT,keep,wind(正确答案)5、C语言中,表示一条语句结束的标号是 [单选题]A、#B、;(正确答案)C、//D、}6、每个C程序中都必须有且仅有一个 [单选题]A、类B、预处理命令C、主函数(正确答案)D、语句7、运算符 +、<=、=、% 中,优先级最低的运算符是 [单选题]A、+B、<=C、=(正确答案)D、%8、下列字符列中,可以作为“字符串常量”的是 [单选题]A、 ABCB、″xyz″(正确答案)C、′uvwD、′a′9、设x和y均为逻辑型变量,则x && y为真的条件是 [单选题]A、它们均为真(正确答案)B、其中一个为真C、它们均为假D、其中一个为假10、在if语句中,用作判断的表达式为 [单选题]A、关系表达式(正确答案)B、逻辑表达式C、算术表达式D、任意表达式11、下面合法的C语言字符常量是 [单选题]A、'\t'(正确答案)B、 "A"C、 65D、 A12、表达式: 10!=9的值是 [单选题]A、trueB、非零值C、0D、1(正确答案)13、C语言提供的合法的数据类型关键字是 [单选题]A、 DoubleB、 short(正确答案)C、 integerD、 Char14、C语言程序的基本单位是 [单选题]A、程序行B、语句C、函数(正确答案)D、字符15、设有如下定义: int x=10,y=3,z; 则语句 printf("%d\n",z=x%y);的输出结果是 [单选题]A、 1(正确答案)B、 0C、 4D、 316、表达式5!=3的值是 [单选题]A、TB、非零值C、0D、1(正确答案)17、下列数据中哪个是整型数 [单选题]A、6(正确答案)B、6.00C、”a”D、7.e+018、下列数据中哪个是实型数 [单选题]A、6B、6.00(正确答案)C、”a”D、abc19、下面对变量的定义语句哪个是正确的 [单选题]A、int a;(正确答案)B、char a1,int a1;C、a,b char;D、int x,y20、下面对变量的定义语句哪个是正确的 [单选题]A、int x,y ;(正确答案)B、char a1,int a1;C、a,b char;D、char if21、一个C程序的执行是从 [单选题]A、本程序的main函数开始,到main函数结束(正确答案)B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
main() main()
{ {
int i,j; }
}
【答案】D.
28.如下程序:
#include <stdio,h>
max(int x,int y);
main()
{
int a,b,c;
scanf(" %d,%d ",&a,&b);
c=max(a,b);
print(" a=%d,b=%d,max=%d\n ",a,b,c);
}
A.ABC6789 B.ABC67 C.12345ABC6 D.ABC456789
【答案】A
26.下列程序执行后的输出结果是
main()
{ char arr[2][4];
strcpy (arr,"you"); strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s \n",arr);
(3) printf("%d",a[i]);
}
11.二维数组A中元素A[1][2]的值是5。
A[4][5]={{2,2,4},{4,6,5,6},{0},{0}};
12.若有以下定义:int a[8]则数组元素下标的上限为___7____,下限为____0______。
13.写一个定义字符数组a的语句,其长度为20,并为其赋初值:“Good morning ”
}
A. 5 B.6C. 7 D. 8
【答案】D.
33.下程序的运行结果为
#include <stdio.h>
f(int a)
{
auto int b=0;
static c=3;
b=b+1;
c=c+1;
return(a+b+c);
}
main()
{
int a=2,i;
for(i=0;i<3;i++)
printf("%d",f(a));
C期末复习(08/092)
一、填空题
1.C语言中基本的数据类型有:整型、实型、字符型。
2.有如下语句:char A[ ]={”I am a student”};该字符串的长度是14,A[3]=m。
3.符号”a”和’a’的区别是“a”是字符串常量,’a’是字符常量。
4.所谓“指针”就是地址。
“&”运算符的作用是取地址运算符,取运算对象的地址。
A.对函数func的定义。B.对函数func的调用。
C.对函数func的原型说明。D.不合法的。
4.以下程序的输出结果是(D)。
char str[15]=”hello!”;
printf(“%d\n”,strlen(str));
A. 15 B. 14 C. 7 D. 6
5.定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};
printf(" %d\n ",b);
}
main()
{
int a=1;
f1(a);
}
【答案】2
31.以下程序的输出结果是:
main()
{
int x=0;
sub(&x,8,1);
printf(" %d\n ",x);
}
sub(int *a,int n,int k)
{
if(k<=n) sub(a,n/2,2*k)
int i=3,x[4]={ 1,2,3};
9.在C语言中,二维数组元素在内存中的存放顺序是按行存放。
10.以下程序中有错误的语句是(2)for(i=0;i<M;i++)。
#define M 12
main()
{ int i;
(1) int a[M]={4,3,2,1,5,9,8,8};
(2) for(i=l;i<=M;i++)
for(i=0;i<3;i++) k+=p[i]*2;
printf("%d\n",k);
}
A.20B.21C.22D.23
【答案】B
23.下面程序的运行结果是______。
main()
{ char ch[7]={"65ab21"};
int i,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0';
C.putchar (a ,b);D.puts ( ‘a' , ' b');
11.在C语言中,函数的数据类型是指D。
A.函数形参的数据类型B.任意指定的数据类型
C.调用该函数时的实参的数据类型D.函数返回值的数据类型
13.在C语言中,要求参加运算的数必须是整数的运算符是A。
A.% B./ C.!D.*
16.对二维数组a初始化如下:
int a [3][4]={{5,10},{3,6,9,12},{0}};
则数组元素a[0][1]的值是___10_______,a[2][1]的值是___0_________。
二、选择题
1.在一个文件中定义的全局变量的作用域为( D )
A.本程序的全部范围B.离定义该变量的位置最近的函数
【答案】B
17.有以下程序B
main()
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7)
if(p[i]%2) j+=p[i];
printf("%d\n",j);
}
程序运行后的输出结果是______。
A.42 B.45 C.56 D.60
printf("\"%s\"\n",ch[1]);
}
A."AAAA"B."BBB"C."BBBCC"D."CC"
【答案】B
21.有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0
for(i=0;i<4;i++) s+=aa[i][1];
A.int a[5]={0,1,2,3,4,5}; B.char a[]={0,1,2,3,4,5};
C.char a={'A','B','C'}; D.int a[5]="0123";
【答案】B
20.以下程序的输出结果是
main()
{ char ch[3][5]={"AAAA","BBB","CC"};
14.设int a=1,则执行完循环while (a++<5); a的值是____A_______。
A. 6 B.5 C. 1 D. -264
15.有以下程序
main()
{ char p[]={'a', 'b', 'c'}, q[]="abc";
printf("%d %d\n", sizeof(p),sizeof(q));
fune(rec1,rec2+rec3,(rec4,rec5));
在该函数的调用语句中,语言的实参个数是几个?
A.1 B.2 C.3 D.4
【答案】C.
30.以下程序运算的结果是___________。
Int f2(int b)
{
b=b*b;
return b;}
void f1(int b)
{
b=++b,b+f2(b);
x=f(a,3,7);
printf("%d\n",x);
}
A.10 B.18 C.8 D.15
【答案】A
25.当执行下面的程序时,如果输入ABC,则输出结果是
#include“stdio.h”
#include“string.h”
main()
{ char ss[10]=“1,2,3,4,5”;
gets(ss); strcat(ss,“6789”); printf(“%s\n”,ss);
char a[20]= “Good Morning”;
14.有程序段:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5];则b中的值是9。
15.若自定义函数要求返回一个值,则应在该函数体中有一条__return______语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型符____void ________。
printf(“%d\n”,s);
}
程序运行后的输出结果是
A.11B.19C.13D.20
【答案】B
22.以下程序的输出结果是______。
main()
{int i, k, a[10], p[3]; k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;i++) p[i]=a[i*(i+1)];
相关文档
最新文档