文档库 最新最全的文档下载
当前位置:文档库 › c语言复习(1)

c语言复习(1)

c语言复习(1)
c语言复习(1)

1.一个C程序中________。

A)main函数必须出现在所有函数之前

B)main函数可以在任何地方出现

C)main函数必须出现在所有函数之后

D)main函数必须出现在固定位置

正确答案:B(知识点:C语言程序的构成及格式)

试题分析:构成C程序的基本单位是函数,一个C程序中有且只有一个main函数,main 函数在程序中没有固定的位置。

2.以下选项中不属于C语言的类型的是________。

A)signed short int

B)unsigned long int

C)unsigned int

D)long short

正确答案:D(知识点:C语言的基本数据类型)

试题分析:C语言的基本类型包括signed short int、unsigned long int、unsigned int、char、float、double等,没有long short类型。

3. 将int 变量n转换为float 型变量的方法是。

A) float n B) (float ) n C) float (n) D) (n) float

正确答案:B(知识点:C的基本数据类型转换方法)

4. int i=65; 则putchar(i);printf(“%d”,i); printf(“%c”,i); 的输出结果为。

A) A,65,A B) 65,65,A C) A,A,65 D) A,A,A

正确答案:A(知识点:C的基本数据类型的输出)

△△△4.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是________。

A)1 B)2

C)2.0 D)2.5

正确答案:C(知识点:逗号表达式,混合类型运算)

试题分析:x=1,y=x+3/2是一个逗号表达式,按顺序先计算x=1,再计算y=x+3/2,整个逗号表达式的值等于表达式y=x+3/2的值。计算y=x+3/2时,3/2中3和2都是int类型,3/2的结果是int类型值1,与double类型的x相加,结果为double类型的2.0,再赋给double 类型的y,所以y和表达式y=x+3/2的值均为double类型的2.0。

类型转换:总是针对特定的运算符:单独进行:此例:除法/的操作数未转换为浮点数!!!5.以下能正确定义一维数组的选项是________。

A)int num[];

B)#define N 100; int num[N];

C)int num[0…100]

D)int N=100; int num[N];

正确答案:B(知识点:一维数组的定义)

6.假设int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占的字节数是________。

A)3 B)6 C)10 D)20

正确答案:D(知识点:一维数组的定义)

7.以下程序运行后的输出结果是________。

main()

{ int i,n[]={0,0,0,0,0};

for(i=1;i<=4;i++)

{ n[i]=n[i-1]*2+1;

printf("%d ",n[i]);

}

正确答案:1 3 7 15(知识点:一维数组的定义与引用)

8.以下数组定义中不正确的是________。

A)int a[2][3];

B)int b[][3]={0,1,2,3};

C)int c[100][100]={0};

D)int[3][]= {{1,2},{1,2,3},{1,2,3,4}};

正确答案:D(知识点:二维数组的初始化)

试题分析:二维数组初始化时,对数组第一维的长度可以不指定,但第二维的长度不能省略。9.有以下程序:

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][l]

printf("%d\n",s)

}

执行后的输出结果是________。

A)11 B)19 C)13 D)20

正确答案:B(知识点:二维数组的定义、引用及初始化)

试题分析:该程序是求aa[0][l]、aa[1][l]、aa[2][l]、aa[3][l]之和并输出。

10.有下列程序:

main()

{

char s[ ]= "\n123\\"

printf("%d,%d\n",strlen(s),sizeof(s));

}

程序运行后的输出结果是________。

A)赋初值的字符串有错B)6,7

C)5,6 D)6,6

正确答案:C(知识点:字符串处理函数、转义字符)

试题分析:程序的输出结果是strlen(s)和sizeof(s)两个函数的值。函数strlen(s)是求字符串s (用字符数组存储)的长度,即字符串s中有效字符的个数,不包括字符串结束标志‘\0’,根据对s的初始化处理,字符串s中包含两个转义字符‘\n’和‘\\’,因此字符串s的长度为5。函数sizeof(s)是求字符数组s在内存中所占的字节数,根据程序中对s的初始化处理,字符数组s的长度省略,即由其后的初始值来确定,是字符串s中有效字符的个数加1(即加上字符串结束标志‘\0’),为6,由于每个数组元素是字符类型,在内存中占一个字节,所以字符数组s在内存中所占的字节数为6。注意,如果字符串s的长度在定义时给出了确定的值,则计算其在内存中所占字节数时,按给定的长度计算。

11.函数fun的功能是使一个字符串按逆序存放,请填空。

void fun(char str[])

{char m; int i,j;

for(i=0,j=strlen(str);i<【1】;i++,j--)

{m=str[i];

str[i]=【2】;

str[j-1]=m;}

printf(“%s\n”,str);}

答案[1] j

[2] str[j-1]

12.设x、y 均为整型变量,且x=10,y=3,则以下语句的输出结果是________。

printf("%d,%d\n",x--,--y)

A)10,3 B)9,3 C)9,2 D)10,2

正确答案:D(知识点:减1运算)

试题分析:语句的输出结果是x--、--y两表达式的值。表达式x--的值为x没有减1的值10,表达式--y的值为y减1后的值2。

13.有以下程序:

main()

{ int i=1,j=1,k=2;

if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); }

执行后输出结果是________。

A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3

正确答案:C(知识点:逻辑运算符和逻辑表达式)

试题分析:根据运算规则,对逻辑表达式(j++||k++)&&i++应先计算表达式j++的值,其结果是表达式j++的值为1,j的值为2,再将表达式j++的值1与k++进行||运算,由逻辑运算符||构成的逻辑表达式在已经确定一个运算对象的值为1时,其逻辑表达式的值即为1,此时不再处理其另一个运算对象,因此,不再计算k++,k的值仍为2。逻辑表达式(j++||k++)的值为1,再与i++进行&&运算,需要计算表达式i++的值,表达式i++为1,i的值为2,逻辑表达式(j++||k++)&&i++的值1,执行printf("%d,%d,%d\n",i,j,k);语句,其结果为2,2,2。14.以下程序运行后的输出结果是________。

main()

{ int p=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

正确答案:3(知识点:条件运算符和条件表达式)

试题分析:表达式p/3的值为10,大于0,所以条件表达式(p/3>0?p/10:p%3)的值取p/10的值3。

15.以下程序输出的结果是________。

main()

{ int a=5,b=4 c=3,d;

d=(a>b>c);

printf("%d\n",d); }

正确答案:0(知识点:关系运算符和关系表达式)

试题分析:根据运算规则,对表达式(a>b>c)应先计算表达式a>b的值,其结果为1,再计算1>c的值,其结果为0,故d的值为0。

16.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是

________。

A)if(c

else if(b

else x=3; else x=1;

C)if(a<3) x=3; D)if (a

if(a<2) x=2; if(b

if(a<1) x=1; if(c

正确答案:C(知识点:简单if语句和嵌套if语句的格式与功能)

试题分析:根据嵌套if语句的功能,对各程序段执行后,A)的结果是x=3,B)的结果是x=3,C)的结果是x=2,D)的结果是x=3。在这类题目中,一定要注意其逻辑关系。17.以下程序运行后的结果是________。

main()

{ int a=1,b=3,c=5;

if(c=a+b) printf("yes\n");

else printf("no\n"); }

正确答案:yes(知识点:简单if语句的格式与功能、运算符=和==)

试题分析:if语句后判断的条件是c=a+b,即将a+b的值赋给c,再判断c的值是否为真,而不是判断c是否等于a+b。运算符=和==是不同的。

19.有如下程序,该程序的输出结果是________。

main()

{ int x=1,a=0,b=0;

switch(x) { case 0:b++;

case 1:a++;

case 2:a++;b++;

}

printf(“a=%d,b=%d\n”,a,b); }

A)a=2,b=1 B)a=1,b=1

C)a=1,b=0 D)a=2,b=2

正确答案:A(知识点:switch语句的功能)

试题分析:x=1,程序从case 1:后执行,case 1: 后没有break语句,顺序执行case 2:后的语句。

20.有以下程序段:

int k=0;

while(k=1)k++;

while循环执行的次数是________。

A)无限次B)有语法错误,不能执行

C)一次也不执行D)执行1次

正确答案:A(知识点:while语句的格式与功能、运算符=和==)

试题分析:while后控制循环的表达式为k=1,即每次循环都是将1赋给k,再判断k的值是否真,而不是判断k是否等于1。运算符=和==是不同的。

21.执行语句:for(i=1;i++<4;);后,变量i的值是_____。

A)3 B)4 C)5 D)不定

正确答案:C(知识点:for语句的格式与功能、++运算符、空语句)

试题分析:该循环的循环体是一条空语句,循环控制表达式为i++<4,当i++的值为4时,

结束循环,而此时i++执行完成后,i的值是5。

22.执行以下程序后,输出#号的个数是________。

#include

main()

{ int i,j;

for(i=1;i<5;i++)

for(j=2;j<=i;j++) putchar('#');

}

正确答案:6(知识点:双重循环的执行过程)

试题分析:该程序是一个双重循环结构。外循环控制变量i分别取1、2、3、4时,其对应内循环次数分别是0次、1次、2次、3次,所以内循环体putchar('#');共执行了6次,输出#号的个数是6。

23.以下程序运行后的输出结果是________。

main()

{ int x=15;

while(x>10&&x<50)

{ x++;

if(x/3){x++;break;}

else continue;

}

p rintf(“%d\n”,x);

}

正确答案:17(知识点:while、break、continue的功能)

试题分析:该程序的循环控制条件是x>10&&x<50,当x=15时,条件为真,执行循环体,执行x++;后,x的值为16,x/3的值为3,即为真,执行{x++;break;},x的值为17,通过break 退出循环。因此,程序运行后的输出结果是17。

24 以下程序中,while循环的循环次数是

main()

{ int i=0;

while(i<10)

{ if(i<1) continue;

if(i= =5) break;

i++;

}

……

}

A)1 B)10 C)6 D)死循环,不能确定次数

//正确答案D

//循环变量i的值,一直没有改变; //continue条件为真提前循环,后面的语句都不执行

25 有如下程序

main()

{ int n=9;

while(n>6) { n- -; printf("%d",n); }

9 8 8

8 7 7

7 6 6

} 6(条件为假)

该程序的输出结果是876

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

【练习题】抓交通肇事犯

一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。

甲说:牌照的前两位数字是相同的;

乙说:牌照的后两位数字是相同的,但与前两位不同;

丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。

C语言期末试卷A12_13_1(含答案)

黄冈职业技术学院2012~2013学年度第1学期 《 C 语言程序设计》期末考试试卷(A 卷) (本试卷适用班级:2012级软件外包服务专业) 一、选择题(本大题共20小题,每小题1.5分,共30分) 1、C 语言中最简单的数据类型包括( ) A )整型、实型、逻辑型 B )整型、实型、字符型 C )整型、字符型、逻辑型 D )字符型、实型、逻辑型 2、以下关于C 语言程序执行的描述,正确的是( )。 A)C 语言执行的程序总是从main()函数开始,到main()函数结束 B)C 语言程序的执行是从第一个函数开始,到程序文件的最后一个函数结束 C)C 语言程序的执行是从第一个函数开始,到main()函数结束 D)C 语言程序的执行总是从main()函数开始,到程序文件的最后一个函数结束 3、C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( ) A )必须为字母 B )必须为下划线 C )必须为字母或下划线 D )可以是字母,数字和下划线中任一字符 4、下列可用于C 语言用户标识符的一组是( ) A )void, define, WORD B )a3_b3, _123,Car C )For, -abc, IF Case D )2a, DO, sizeof 5、以下描述错误..的是( )。 A)C 语言源程序经编译后生成后缀名为.obj 的目标程序( ) B)C 语言程序经过编译、连接等步骤之后才形成一个真正可以执行的二进制机器指令文件 C)用C 语言编写的程序被称为源程序,它以ASCII 代码的形式存放在一个文本文件中 D)C 语言每条可执行与非执行语句最终都将被转换成二进制机器指令 6、在C 语言中,char 型数据在内存中的存储形式是( ) A )补码 B )反码 C )原码 D )ASCII 码 7、C 语言中运算对象必须是整型的运算符是( ) A )% B )/ C )= D )<= 8、设有定义char a,b;若通过a&b 运算保留a 的第3位和第6位的值,则b 的二进制数应是( ). A) 00100100 B) 11011011 C) 00010010 D) 01110010 命题人 题 号 一 二 三 四 五 总 分 黄国军 应得分 30 20 24 10 16 100 实得分 评卷人 得 分 ----------- ------- --------------- --装- --------------------- ----------- ---订- ------------------------ -----------线- ------ ------------------ ----------- 教学 学院 :__ __ __ __ __ _ 年级: __ __ __ __ __ __ 专业班 级:_ __ __ __ __ __ _ 姓 名:__ __ __ __ __ __ __ 学号 :_ _ _ __ __ __ __ __ _ -------------------------------密-----------------------------------------封--------------------------------线----------------------------------------

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

一.选择题 1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。 A .-3 B.9 C.-12 D.6 2、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。 A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main() { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是()。 A .6 B.3 C.死循环 D.0 4、下列关于表达式的描述中,错误的是()。 A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。 C. 每一个表达式都有自己的值。 D. 表达式必须以分号结尾。 5、C语言中,合法的长整型常数是()。 A . '\t' B.” A” C.65 D.a 6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。 A .1 B.2 C.2.00000 D.2.50000 7、表达式:10!=9的值是()。 A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是()。 #include void main() { printf("%d\n", NULL); } A . 不确定的 B.0 C.-1 D.1 9、请选出合法的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.8 11、关于语句printf(“hello world\n”);,下列描述中错误的是()。 A . printf()是格式化输出函数,用于输出信息。 B. printf()括号中的内容为函数的参数。 C. printf()括号中的内容会全部输出到控制台上。 D. \n表示换行操作。 12、下列选项中,哪一项不是C语言中的位运算符()。 A .& B.|| C.~ D.^ 13、以下程序的输出结果是()。 void main()

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

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

一.选择题 1、若a 为int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是()。 A .-3 B.9 C.-12 D.6 2、若有定义: int a=8, b=5, c; 执行语句 c=a/b+0.4; 后, c 的值为( )。 A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main() { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是( )。 A .6 B.3 C 死循环 D.0 4、下列关于表达式的描述中,错误的是( )。 6、若已定义x 和y 为double 类型,则表达式 x=1;y=( x+3)12的值是() A .1 B .2 C.2.00000 D.2.50000 7、表达式: 10!=9 的值是( )。 A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是( )。 #include void main () { printf ("%d\n", NULL ); } A . 不确定的 B.0 C.-1 D.1 9 、请选出合法的 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.8 11、 关于语句 printf ( “hello n ”,); 下列描述中错误的是() A . printf ()是格式化输出函 数,用于输出信息。 B. printf () 括号中的内容为函数的参数。 C. printf ()括号中的内容会全部输出到控制台上。 D. \n 表示换行操作。 12、 下列选项中,哪一项不是 C 语言中的位运算符()。 A ?& B.|| C.~ D.A 13、 以下程序的输出结果是( )。 void main () { char c='z'; printf("%c", c-25); } A .a B.Z C.z-25 D.y A . 常量和变量都是表达式。 C. 每一个表达式都有自己的值。 5、 C 语言中,合法的长整型常数是( A . '\t' B.”A ” C.65 D.a B. 运算符类型对应表达式的类 型。 D. 表达式必须以分号结尾。 )。

C语言题库(1).docx

一. 选择题 (单项) 1. C 语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符 ——。 A必须为字母B必须为下划线 C必须为字母或下划线 D 可以是字母、数字和下划线中的任一种字符 2.下面 4个选项中,均是 C 语言关键字的选项是——。 Aauto enum includeBswitch typedef continue C signed union scanf D if struct type 3.下面 4个选项中,均是不合法的用户标识符的选项是——。 A A P_0 doBfloat la0_A C b- a goto int D_123 temp INT 4.在 C 语言中,int 、char 和 short 三种类型的数据在内存中所占用的字节数——。A由用户自己定义B均为 2 个字节 C是任意的D由所用机器的机器字长决定 5.下面 4 个选项中,均是合法浮点数的选项是——。 A+1e+15e-9.403e2B- .60 12e-4-8e5 C123e 1.2e-.4 +2e - 1D-e3 .8e-4 5.e -0 6.下面不正确的字符串常量是——。 AˊabcˊB〞 12ˊ12〞 C〞0 〞D〞〞 7.假设所有的变量均为整型,则表达式(a=2,b=5,b++, a+b)的值是——。 A7B8 C6D2 8.以下正确的叙述是——。 A在 C 语言中,每行只能写一条语句 B若 a 是实型变量, C 程序中允许赋值a=10,因此实型变量中允许存放整型 数 C在 C 程序中,无论整数还是实数,都能被准确无误的表示 D在 C 程序中, % 是只能用于整数运算的运算符 9.以下表达式值为 3 的是——。 A 16-13%10B2+3/2 C 14/3-2D(2+6)/(12- 9) 10.设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ˊ aˊ +i*f 值的数据类型为——。 A int B float C double D 不确定 11.在 C 语言中, char 型数据在内存中的存储形式是——。 A 补码C 原码B反码 D AS CⅡ码 12.设有说明语句: char w;int x ;float y ;double z;w x z y 值的数据类型为 ——。 A float B char C int D double

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

c语言复习题整理(1)

C语言程序设计习题与解答 题解1 绪论 习题 一、选择题 1.一个完整的可运行的C源程序中(B )。 A.可以有一个或多个主函数B.必须有且仅有一个主函数 C.可以没有主函数D.必须有主函数和其他函数 2.构成C语言源程序的基本单位是(D )。 A.子程序B.过程C.文本D.函数 3.某C程序由一个主函数main( )和一个自定义函数max( )组成,则该程序( D )。 A.总是从max( )函数开始执行B.写在前面的函数先开始执行 C.写在后面的函数先开始执行D.总是从main( )函数开始执行 4.C语言规定,一个C源程序的主函数名必须为(C )。 A.program B.include C.main D.function 5.下列说法正确的是(C)。 A.在书写C语言源程序时,每个语句以逗号结束 B.注释时,'/'和'*'号间可以有空格 C.无论注释内容的多少,在对程序编译时都被忽略 D.C程序每行只能写一个语句 6.C语言源程序文件的后缀是( C ),经过Compile后,生成文件的后缀是( A ),经过Build后,生成文件 的后缀是(B)。 A..obj B..exe C..c D..doc 7.Visual C++ IDE的编辑窗口的主要功能是(A ),输出窗口的主要功能是(D ),调试器(Debug)的主要功能是(C)。 A.建立并修改程序B.将C源程序编译成目标程序 C.跟踪分析程序的执行D.显示编译结果信息(如语法错误等) 8.在Visual C++ 开发环境下,C程序按工程(project)进行组织,每个工程可包括(D)C/CPP源文件,但只能有( A )main函数。 A.1个B.2个 C.3个D.1个以上(含1个) 9.调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为(A )。而某个“计算2的平方”的程序在 调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于5,这种情况一般称之为(D)。 A.语法错误B.正常情况 C.编译器出错D.逻辑设计错误

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

C语言期中考试试题及答案-1

高级语言程序设计试题 答案在最后 一、单项选择题(本大题共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

c语言第1、2章练习题答案

第1、2章练习题 1.以下叙述正确的是()。B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如fun(fun(x)) C)C语言函数不可以单独编译D)C语言除了main函数外,其他函数不可以作为单独文件形式存在 2.以下叙述正确的是()。C A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句 C)简单的C语句必须以分号结束D)C语句必须在一行内写完 3.以下叙述中正确的是()。C A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一条语句 C)C程序书写格式自由,一条语句可以写在多行上 D)用C语言编写的程序只能放在一个程序文件中 4.下列叙述中错误的是()。A A)一个C语言程序只能实现一种算法B)C语言程序可以由多个程序文件组成 C)C语言程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在5.以下叙述中正确的是()。C 页脚内容1

A)C语言程序将从源程序中的第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序从此开始执行,在此结束 D)main可作为用户标识符,用以命名任意一个函数作为主函数 6.对于一个正常运行的C程序,以下叙述正确的是()。A A)程序的执行总是从main函数开始,在main函数中结束 B)程序的执行总是从程序的第一个函数开始,在main函数结束 C)程序的执行总是从main函数开始,在程序的最后一个函数中结束 D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束7.下列叙述正确的是()。D A)每个C语言程序文件中都必须有一个main( )函数 B)在C语言程序中main( )函数的位置是固定的 C)C语言程序中所有函数之间都可以相互调用,与函数所在的位置无关 D)在C语言程序的函数中不能定义另一个函数 8.下列叙述中错误的是()。B A)C程序在运行过程中所有计算机都以二进制方式进行 B)C程序在运行过程中所有计算机都以十进制方式进行 页脚内容2

C语言题库1

C语言题库 1.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是(D)。 A、"rb+" B、"ab++" C、"ab" D、"wb+" 2.设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是(C)。 A、p=(struct sk*) data.a; B、*p=data.a; C、p=&data.a; D、p=&data,a; 3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用 的运算符是(B)。 A、& B、. C、* D、-> 4.下列关于指针定义的描述,错误的是(A)。 A、指针是一种变量,该变量用来存放某个变量的值 B、指针是一种变量,该变量用来存放某个变量的地址值 C、指针变量的类型与它所指向的变量类型一致 D、指针变量的命名规则与标识符相同 5.设有如下的程序段: char str[ ]="Hello"; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为(D ). A、不确定的值 B、'o'的地址 C、'o' D、'\0' 6.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。 A、&t[1] B、t[3] C、&t[3][2] D、t[2] 7.下列说法中正确的是(B ). A、函数调用不占运行时间,只占编译时间. B、宏替换不占运行时间,只占编译时间. C、有参数的宏定义,就是函数. D、在定义宏时,宏名与带参数的括弧之间可以加空格. 8.以下叙述中正确的是(C)。

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是() for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

c语言试卷及答案1

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺 序、选择和嵌套。 (17) 在C语言程序中,在函数内部定 义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相 同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右 结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语 言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8; 数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ", "A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变 量可以存放-123.4。 A、long a; B、 unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100], pp是一个(29) 。 A、函数 B、数组元素 C、指针变 量D、数组 (30) 下列程序段的输出结果是 (30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)

C语言程序设计复习1

题型:单选题、填空题、程序分析题、编程题. 第一章C语言程序设计基础 1.程序设计语言的基本概念 ?程序 ?程序设计语言 ?常用程序设计语言及其类型 ?源程序、编译、目标文件、连接、可执行程序 ?编程的步骤 2.C语言程序的基本结构 (1) C源程序的框架 C源程序的框架,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 (2) C语言源程序的书写规则: ?C源程序是由一个主函数和若干个其它函数组成的; ?函数名后必须有小括号,函数体放在大括号内; ?C程序对大、小写字母书写敏感; ?每句的末尾加分号; ?可以一行多句; ?可以一句多行; ?可以在程序的任何位置加注释,注释的方式。 3.C语言程序设计的的基本步骤和调试过程 复习题:/***** 1. 每个C语言程序中有且仅有一个函数,它是程序的入口和出口。 2. 引用C语言标准库函数,一般要用预处理命令将其头文件包含进来。 3. C语言属于() A.高级语言 B. 低级语言 C.中级语言 D. 机器语言 4. C语言规定了若干有特定意义、为C语言专用的单词,称为关键字。 5. C语言的语句以结尾。 6. C语言源程序经过编译以后生成文件,生成的文件名后缀为,经过连接后生成文件,后缀为 7.C语言中不能使用关键字作为标识符。(√) 第二章基本数据类型,运算符与表达式 关键知识点: 1.常量,变量: a)标识符的命名规则 b)常量,变量的概念:直接常量,符号常量,变量必须先定义后使用 c)变量名和变量值的区别。

2.C语言中的基本数据类型 a)各种数据类型的数据在内存中的存放方式 b)掌握各种数据类型数据的常量使用方法,特别注意字符常量和字符串常量的区别使 用 c)整型,字符型,浮点型变量的定义和引用方法 d)数据的数据类型,数据的取值范围,数据在内存中存放方式三者之间的联系3.运算符和表达式的使用方法 a)自增、自减运算符 b)赋值运算符 c)算术运算符及表达式 d)逗号运算符及表达式 e)*位运算符及表达式 f)sizeof运算符及表达式 g)*强制数据类型转换符及表达式 4.运算符的优先级和结合性 5. 复习题: 1. C语言的标识符命名规则中,第一个字符可以为字符…#?或…&? .(×)。 2.下列全部属于合法的用户标识符的是() A.A1 P_0 dS B. float 2la _A C. *a hy kk D. _123 temp main 3. C语言对字母的大小写不敏感。(×) 4. C语言中,符号常量由宏定义命令#define来定义。(√) 5. 在VC 6.0中,数据类型int,char,float和double所占的内存字节数分别是、、和。 6.下列四个选项中,均是合法的整型常量的选项是A A.160 –0XFFFF 011 B。-0XCDF 01A 0XE C.-01 986,012 0688 D。-0X48a 2e5 0x 7. 合法的C语言字符常数是(A ) A. '\t' B. "A" C. 54 D. A 8. 设有语句char a = '\72'; 即变量a (A ) A.包含一个字符 B. 包含两个字符 C. 包含3个字符 D. 说明不合法 9. 若有定义int a=7;folat x=2.5,y = 4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是(2.500000)。

C语言程序设计题库1

C语言题库试题 1.C 语言规定,函数返回值的类型是由()。 A.return 语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定 2.以下程序的输出结果是 #include f(int b[],int m,int n) { int i,s=0; for(i=m;i<n;i=i+2) s=s+b[i]; return s; } void main() {int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); } A) 10 B) 18 C) 8 D) 15 3.有如下程序 #include int runc(int a,int b) { return(a+b);} void main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(“%\d\n”,r); } 该程序的输出的结果是 A) 12 B) 13 C) 14 D) 15 4.下列选项中,正确的赋值表达式为() A、a=b=c=9 B、a=b+9=c-9 C、a=b,a++,b=9 D、a=9-b=c+9 5.设x为int型变量,下列选项中能够判定x值为偶数的表达式是() A、 x%2=0 B、x/2=0 C、x%2==0 D、x/2==0 6.有以下程序段 int m=0,n=0; char c='a'; scanf("%d%c%d",﹠m,﹠c,﹠n); printf("%d,%c,%d\n",m,c,n); 若从键盘上输入:10A10"回车",则输出结果是: A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0 7设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是______。

相关文档