C语言练习3

合集下载

C语言程序设计-第3章 练习题

C语言程序设计-第3章  练习题

一、单项选择题题目1若x的值为15,则执行“if(x>10) x++; else x--;”语句后,x的值为()。

a. 14b. 15c. 10d. 16题目2若x的值为-10,则执行“if(!x) x++; else x--;”语句后,x的值为()。

a. -9b. -11c. -10d. 0题目3若x的值为10,则执行“switch(x%3){case0: x++; case 1:x++; case 2: x++;}”语句后,x的值为()。

a. 13b. 12c. 11d. 10题目4若x的值为10,则执行“switc h(x%3){case0: x++; break; case 1:x++; default: x++;}”语句后,x的值为()。

a. 9b. 10c. 11d. 12题目5若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i=1共被执行的次数为()。

a. nb. n+1c. 1 B. n-1 C.n-1d. 1题目6若n的值为10,则执行“for(i=0;; i++) if(i>n/3) break;”语句后,i的值为()。

a. 3b. 6c. 4d. 5题目7若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i++共被执行的次数为()。

a. n+1b. nc. 1d. n-1题目8若n的值为10,则执行“for(i=0;i<n; i++) for(j=i; j<n; j++) S;”语句后,内层循环体S语句的执行总次数为()。

a. n(n-1)/2b. (n+1)/2c. n*nd. n(n+1)/2题目9若n的值为10,则执行“while(n-->0)s+=n;”语句的过程中,循环体被执行的次数为()。

a. 8b. 10c. 11d. 9题目10若n的值为5,s的值为0,则执行“while(n-->0) s+=n;”语句后,s的值为()。

c语言程序设计练习3

c语言程序设计练习3

在一个C程序中(B)。

A、main函数必须出现在固定位置B、main函数可以在任何地方出现C、main函数必须出现在所有函数之前D、main函数必须出现在所有函数之后若有int a[][]={{1,2},{3,4}}; 则*(a+1),*(*a+1)的含义分别为(C)。

A、&a[0][1],3B、非法,2C、&a[1][0],2D、a[0][0],4fseek函数的正确调用形式是(D)。

A、fseek(起始点,位移量,文件类型指针)B、fseek(位移量,起始点,fp)C、fseek(文件类型指针,起始点,位移量)D、fseek(fp,位移量,起始点)C语言程序中,当调用函数时(B)。

A、实参和虚参可以共用存储单元B、实参和虚参各占一个独立的存储单元C、计算机系统自动确定是否共用存储单元D、可以由用户指定是否共用存储单元以下标识符中,不能作为合法的C用户定义标识符的是(C)。

A、toB、answerC、defineD、_ifchar *s1="hello",*s2;s2=s1;则(D)。

A、s2指向不确定的内存单元B、s1不能再指向其它单元C、不能访问"hello"D、puts(s1);与puts(s2);结果相同有如下程序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);}该程序的输出结果是 BA、a=1,b=1B、a=2,b=1C、a=1,b=0D、a=2,b=2下列正确的标识符是 DA、%yB、a+bC、6aD、_do若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是(B)。

A、"ab"B、"wb+"C、"ab++"D、"rb+"int a[10];合法的数组元素的最小下标值为(B)。

C语言练习3(数组)=参考答案

C语言练习3(数组)=参考答案

C语言(数组)一、选择题1. 设有程序:main(){ int i,a[11];printf("给数组赋值:\n");for (i=0;i<=10;i++)scanf("%d",( ));... ...printf("输出数组:\n");for(i=0;i<=10;i++)printf("%d,",( ));}则在程序中的两个园括号中分别应填入:CA) &a[i]和&a[i]B) a[i]和&a[i]C) &a[i]和a[i]D) a[i]和a[i]2. 设已定义:int a[15]; 则数组a占用的内存单元数是( C ).A) 15 B) 16 C) 30 D) 323. 阅读程序:main(){ int a[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++) a[j]=a[i]+1;printf("%d\n",a[k]);}以上程序的输出结果是( D ).A) 1 B) 3 C) 2 D) 不确定的值4. 阅读程序:f(int b[],int n){ int i,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}以上程序的输出结果是( D ).A) 720 B) 6 C)24 D) 1205. 以下定义语句中,错误的是( B ).A) int a[ ] = {6,7,8};B) int n=5, a[n];C) char a[ ]= "string";D) char a[5 ]={'0','1','2','3','4'};6. 以下描述中正确的是( D ).A) 数组名后面的常量表达式用一对圆括弧括起来B) 数组下标从1开始C) 数组下标的数据类型可以是整型或实型D) 数组名的规定与变量名相同7. 若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};指出以下错误语句( AB ).A) scanf("%c",a[0]);B) scanf("%s",&a);C) printf("%c",a[3]);D) printf("%s",a);8.若定义数组int a[10] ,其最后一个数组元素为( C ).A) a[0]C) a[9]D) a[10]9. 若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( B )?A) a[8] 的值为0B) a[1] 的值为1C) a[3] 的值为4D) a[9] 的值为010. 指出以下错误语句( A ).A) int n=10,a[n];B) int n,a[10];C) int a[10]={1,2,3};D) int a[10]={1,2,3,4,5,6,7,8,9,10};11. 请读程序:main(){int n[2],i,j,k;for(i=0;i<2;i++) n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++) n[j]=n[i]+1;printf("%d\n",n[k]);}上面程序的输出结果是( A ).A)不确定的值 B)3 C)2 D)112. 若有以下的定义和语句:int str[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='e',则数值为2的表达式是( C ).A)str['g'-c] B)str[2] C)str['d'-'c'] D)str['d'-c]13. 设有数组定义:int a[5];则下列给数组元素赋值错误的是( B ).B) scanf("%c",a[3]);C) a[3]=getchar();D) a[3]='a'+3;14. 以下数组定义中错误的是( D ).A) #define N 30int a[N+30];B) #define N 30int a[N];C) int a[30];D) int a[N];15. 在定义一个一维数组时,不能用来表示数组长度的是( D ).A)常量 B)符号常量 C)常量表达式 D) 已被赋值的变量16. 若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a在内存中所占的字节数是( D ).A)12 B)20 C)40 D)8017. 设已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素x[1][1]的正确初值是( A ).A) 6 B) 5 C) 7 D) 118. 设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为( C ).A) 2 B) 4 C) 6 D) 819. 设有:int a[4][5]; 则数组a占用的内存字节数是( C ).A) 12 B) 24 C) 40 D) 2020. 以下数组定义中,不正确的是( B ).A) int b[3][4];B) int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}};C) int b[200][100]={0};D) int c[ ][3]={{1,2,3},{4,5,6}};21. 定义数组:int x[2][3]; 则数组x 的维数是( 2 ).A) 1 B) 2 C) 3 D) 622. 若定义数组并初始化int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立( C )?A) 表达式b[1][2]的值为1B) 表达式b[1][2]的值为4C) 表达式b[1][2]的值为6D) 表达式b[1][2]的值为223. 若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}};for(i=0;i<2;i++)for(j=0;j<3;j++)printf("%d",a[i][j]);语句的结果是哪一个( C )?A) 1,2,3,4,5,6B) 1 2 3 4 5 6C) 12345624. 若定义数组并初始化int a[2][3]= {{1,2, 3},{4,5,6}};以下语句哪一个不成立( B )?A) a数组中有6个元素B) a[2][3]是a数组的最后一个元素的引用C) a数组中每个元素都为整数D) a数组是整型数组25. 定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( C ).for(i=0;i<3;i++) printf("%d",x[i][2-i]);A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 926. 如有以下定义:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};则数值为2的元素是( C ).A) s[1][3] B) s[0][3] C) s[0][2] D) s[1][2]27. 以下程序的输出结果是( A ).main(){int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d",s);}A) 18 B) 19 C) 20 D) 2128. 若已有char b[10][50];则该二维字符数组在内存所占字节数为( D ).A) 10 B)50 C)60 D)50029. 设有:char a[10]; 下列语句那个是正确的( D )?A) scanf("%s",a[0]);B) scanf("%s",&a);C) printf("%s",a[0])D) printf("%s",a)30. 阅读程序:main(){ char a[10];int i;for(i=1;i<=5;i++)scanf("%c",&a[i]);printf("%c",a[0]);}设从键盘输入字符串:abcde,则程序的输出结果是( C ).A) a B)空格 C)不确定D)031. 合法的数组定义是( D ).A) int a[ ] = "string";B) int a[5]={0,1,2,3,4,5};C) char a= "string";D) char a[ ]={'0','1','2','3'};32. 设有数组定义:char string[ ]="China";则数组string所占的空间为( B ).A) 5个字节B) 6个字节C) 7个字节D) 10个字节33. 定义字符数组c:char c[ ]={"c language"};数组c在内存中所占字节数是( C ).A) 9 B) 10 C) 11 D) 1234. 指出以下错误语句( C ).A) char a[10]={'0','1','2','3','4','5','6','7','8','9'};B) char a[10]={'0','1 ','2','3'};C) char a[2]= {"1","2"};D) char a[2]= {'a’,'b’};35. 若定义数组并初始化char a[10]={"hello"},该数组的元素个数是( A ).A) 10B) 5C) 6D) 736. 若定义数组并初始化char a[10]={"HELLO"},该数组的元素中 a[2]是( A ).A) 'L'B) 'E'C) 'H'D) 'O'37. 若定义数组并初始化int b[10]={ 1,2,3,4},以下哪几个语句成立( A C D)?A)b[8]的值为0B)b[1]的值为1C)b[3]的值为整数D)b[10]不是b数组中的元素38. 若定义数组int a[10];指出下列错误语句:ABCDA) a数组共有10个元素,其引用方法是:a[1],a[2]...a[10];B) a数组是整型数组,其元素自动初始化为0;C) a数组最后一个元素的引用方法是a[10];D) a数组第一个元素的引用方法是a[1];二、判断题1.数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。

3试题 c语言试题以及答案

3试题 c语言试题以及答案

参考答案:错


第5题:在标准C中,“=”是判断两个数是否相等。
参考答案:错


第6题:在标准C语言中,指针函数参数传递是单向传递,且传递的是变量的地址
参考答案:对


第7题:EOF能够被识别为常量
参考答案:对


第8题:对于定义int *p赋初值;则初值是赋给P变量的。
参考答案:对


第9题:C语言中数据的存储结构是指数据的逻辑结构在内存中的表示
参考答案:对
第2题:下面程序的输出结果是:
#include<stdio.h>
int func( int a, int b)
{
int c;
c=a+b;
return c;
}
main()
{
int x=6, y=7, z=8, r;
r=func(x--+y--,z--);
A、for (;;x+=i);
B、while (1) x++
C、for (i=10;;i--) sum+=i;
D、for (;(c=getchar())!='\n';) printf("%c",c);
第10题:字符串指针变量中存入的是
参考答案:A
A、字符串的首地址
B、字符串
C、第一个字符
D、字符串变量
--------------------------------------------------------------------------------

C语言练习题填空题3

C语言练习题填空题3
char c;
gats(str);
for(I=0;(【2】)!=’\0’;I++)
if(c==’ ’)word=0;
else if(【3】)
{word=1;
(【4】)}
printf(“There are %d word in line. \n”,num);
}
20.
已知:int *p,a;则语句p=&a;中的运算符&的含义是。
4
15
数据类型、运算符与表达式
07
1
8
结构体与共用体
08
2
9
指针
09
1
6
最简单的C程序设计——顺序程序设计
10
1
5
选择结构程序设计
11
2
5
C语言概述
19
1
2
定义编译预处理
23
1
6
逻辑运算与判断取控制
25
3
10
综合练习
难度编码
题量
分值
难度说明
1
8
33

2
10
57

3
3
10

题型编码
题量
分值
题型说明
02
11.*(pa+i),avg/n
12.hELLO!
13.跳过对应的输入数据。
当输入以下数据时:10□□20□□30□□40<回车>
将把10赋给a1,跳过20,把30赋给a2,把40赋给a3
14.passwarm在case 'c'与case'd'后边没有跟break语句
15.scanf printf

C语言练习题及答案解析三

C语言练习题及答案解析三

C语言练习题及答案解析三(共3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--一、单项选择题1.下面不属于C语言的数据类型是【】。

A) 整型 B) 实型 C) 逻辑型 D) 双精度实型分析:和其它高级语言相比,C语言中没有逻辑型数据,也没有逻辑型变量。

本题正确答案为C。

语言中,下列属于构造类型的是【】。

A) 整型 B) 实型 C) 指针类型 D) 结构体类型分析:C语言中构造类型的数据有三种:数组、结构体和共用体,数组是同类型数据的集合,结构体是不同类型的数据集合。

本题正确答案为D。

3.下列字符串不符合标识符规定的是【】。

A) SUM B) sum C) 3cd D) end分析:标识符规定只能由26个英文字母(大小写均可),数字0~9和下划线组成,且不能以数字开头,题中的3cd不符合规定。

本题正确答案为C。

4.下面能正确表示八进制数的是【】。

A) 0x16 B) 029 C) -114 D) 033分析:选项A)以0x开头是十六进制数,选项B)虽然是0开头,但出现了数字9,选项C)是十进制数。

本题正确答案为D。

5.下面四个选项中,均是合法实数的选项是【】。

A) B) C) D)-e5分析:实数有两种表示形式:小数形式和指数形式,小数形式必须有小数点,指数形式中,字母e之前必须有数字,e之后必须是整数。

选项A)中的"",选项C)中的"",选项D)中的"-e5"均是不合法的。

本题正确答案为B。

语言中,字符型数据在内存中存储形式是【】。

A) 原码 B) 反码 C) 补码 D) ASCII码分析:C语言中int型数据是以补码形式存放的,字符型数据是以ASCII码形式存放的。

本题正确答案为D。

7.下列正确的字符型常量是【】。

A) "a" B) ′\\\\′ C) "\\r" D) 277分析:字符常量的定义是用单引号括起来的一个字符,A和C的定界符不对,D超过了char型数据的表示范围,′\\\\′是转义字符。

c语言第3章练习题--运算符、表达式、输入输出知识讲解

c语言第3章练习题--运算符、表达式、输入输出1. 下面四个选项中,均是不合法的标识符的选项是(C)A)A, P_0, doB)float, 1a0, _AC)b-a, goto, intD)_123, temp, INT2. c语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(C)A)必须为字母;B)必须为下划线;C)必须为字母或下划线;D)可以是字母、数字和下划线中任一种字符.3. 已知字母A的ASCII码为十进制的65,下面程序的输出是(A)main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A)67, D B)B, C C)C, D D)不确定的值4. 假设所有变量均为整型,则表达式(B)(a=2, b=5,b++,a+b) 的值是A)7 B)8 C)6 D)25. 设以下变量均为int类型,则值不等于7的表达式是,CA) (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)6. 若有说明语句:char c=‘\72’;则变量c(A)A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定7. 若以下变量均是整型,且num = sum =7;则计算表达式.Bsum=num++,sum++,++num 后sum的值为(B)A)7 B)8 C)9 D)108. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x十a%3*(int)(x十y)%2 /4的值是(A)A) 2.500000 B) 2.750000 C) 3.500000 D)0.0000009、下面不正确的字符串常量是(A)A)'abc' B)"1212" C)"0" D)" "10、数字字符0的ASCII值为48,若有以下程序(A) void main(){ char a='1',b='2';b = b + 1;printf("%c,",b);printf("%d\n", b-a);}程序运行后的输出结果是(A)A)3,2 B)50,2 C)2,2 D)2,5011、在C语言中,要求运算数必须是int型的运算符是 DA. /B. ++C.!=D. %12、设有如下程序段:int x=2002, y=2003;printf("%d\n",(x,y));则以下叙述中正确的是(D)A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运行时产生出错信息C) 输出值为2002D) 输出值为200313、有如下程序void main(){ int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}运行该程序的输出结果是DA) 3 4 B) 4 2 C) 4 3 D) 3 314 下列程序的输出结果是Cvoid main(){ double d=3.2; int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d \n", d*y);}A) 3 B) 3.2 C) 0 D) 3.0715、假定x和y为double型,则表达式x=2,y=x+3/2的值是DA) 3.500000 B) 3 C) 2.000000 D)3.00000016、若有以下程序段,Aint c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0 B) 0.5 C) 1 D) 217、已知字母A的ASCII编码为10进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为___A___。

小学生C语言编程练习03

C语言编程练习(003):循环结构程序设计题0:填空题:题1:分别用for循环、while循环、do-while循环编程解决下列问题:(1).计算1+2+3+4+……+100的值,并输出。

(2).计算1~100之间所有偶数的和,并输出。

(3).计算1~10之间所有数的乘积,并输出。

(4).计算1+1/2+1/3+……+1/100的和,保留2位小数输出。

(5).求恰好使S=1+3+5+7+9+……+(2n-1)的值大于10000时n 的值,并输出n。

(6).连续打印1~20的所有自然数,要求每行一个自然数。

(7).求S=1×2+2×3+3×4+……+99×100的值,并输出s。

(8).求S=1+1×2+1×2×3+1×2×3×4+…+1×2×3×4×5×6×7×8×9×10的值,并输出s。

题2:(1).依次输入n位同学身高值,找出身高最大值并输出。

(2).从键盘输入正整数n,计算S=1+(1+3)+(1+3+5)+(1+3+5+7)+……+(1+3+5+7+……+2n-1)的值,并输出S。

(3).计算1~1000之间能同时被3和5整除的整数的和S并输出。

(4).输入一个任意位数的正整数n(n在10亿内),计算它各位上数字的和S并输出。

题3:(1).判断任意给定的正整数n(n>1)是否是质数。

(2).所谓水仙花数是指一个三位数x,如果满足a3+b3+c3=x,则x就是水仙花数,请输出所有的水仙花数(一行一个数)。

其中a、b、c分别表示x 的个位数、十位数和百位数。

(3).同上题,输出所有水仙花数(一行3个数)。

题4:相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔(国际象棋发明者),问他需要什么达依尔回答说:“国王只要在国际象棋棋盘的棋盘第一格子上放一粒麦子,第二个格子上放二粒,第三个格子里放四粒,以后按此比例每一格加一倍,一直放到第64格(国际像棋盘是8*8=64格),我就感恩不尽,其它我什么也不要了。

C语言练习题3

一、语言基础选择题1.C语言程序的基本单位是 CA) 程序行 B) 语句 C) 函数 D) 字符2. 以下说法中正确的是 CA) C语言程序总是从第一个的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分3.一个C语言程序的上机步骤是 AA) 编辑,编译,连接,执行 B) 编译C) 编辑,连接,执行 D) 连接,编译,执行4. 已知有定义:char ch;则如下正确的赋值为 AA) ch=‘M’; B) ch=’55’; C) ch="M"; D) ch="55";5.在Turbo C环境中,查看程序运行结果的快捷键是 DA) F5 B) Ctrl+F9 C) F8 D) Alt+F56.下列变量名中合法的是 CA) B.C.Tom B) 3a6b C) _ba7b D) $ABC7. C语言中,要求运算数必须是整型的运算符是 DA) / B)+ + C)!= D)%8. 已知 int j,i=1;则执行j=-i++; i和j的值为 BA)1,-1 B)2,-1 C)1,1 D)2,19.在C语言中,数字029是一个 AA)八进制数 B)十六进制数 C)十进制数 D)非法数10.C语言中用于结构化程序设计的三种基本结构是__A___A)顺序结构、选择结构、循环结构 B)if、switch、breakC)for、while、do-while D)if、for、continue11.如下程序运行后的输出结果是__B__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=1,b=1 B)a=2,b=1 C)a=1,b=0 D)a=2,b=2 12.若i为整型变量,则以下循环执行次数是_C__for(i=2;i==0;)printf(“%d”,i--);A)无限次 B)0次 C)1次 D)2次13.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是_D__ A)3 B)0 C)9 D)-1214.有输入语句:scanf("a=%d,b=%d",&a,&b),为使变量a值为3,b值为7,从键盘输入数据的正确形式是_A__A)a=3,b=7<回车> B)a=3 b=7<回车> C)3 7<回车> D)3,7<回车>15.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是_D__#include <stdio.h>main(){char c1='A', c2='Y';printf("%d,%d\n",c1,c2);}A) 因输出格式不合法,输出错误信息 B)65,90C)A,Y D)65,8916.如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为__D__A)ture B)false C)0 D)117.以下关于break和continue语句的说明正确的是_C___A) break用于switch结构,continue用于循环结构。

C语言练习题3

C语言练习题一、判断题1.C语言的switch语句中case后可为字符和整型常量表达式或有确定值的变量及表达式。

(N)2.如果有一个字符串,其中第十个字符为’\n’,则此字符串的有效字符为9个。

(N)3.两个字符串中的字符个数不相同时也可以进行字符串大小的比较。

(Y)4.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。

(Y)5.C语言的switch语句中的case后只能为整型或字符型常量或常量表达式。

(Y)6.变量根据其作用域的范围可以分作局部变量和全局变量。

(Y)7.循环结构中的continue语句是整个循环终止执行。

(N)8.char*p=”girl”;的含义是定义字符型指针变量p,p的值是字符串“girl”.(N)9.C语言中只能逐个引用数组元素而不能一次引用整个数组。

(Y)10. int a[3][4]={ {1},{5},{9} };它的作用是将数组各行第一列的元素赋初值,其余元素值为0。

(Y)11.C语言中“%”运算符的运算对象必须为整形。

(Y)12.函数strl en(“ASDFG\n”)的值是7。

(N)13.若有说明int c;则whil e(c=getchar());是正确的c语句。

(Y)14.表达式,(j=3,j++)的值是4。

(N)15.在c程序中,函数既可以嵌套定义,也可以嵌套调用。

(N)16.Int i=20;Switch(i/10){Case 2:printf(“A”);Case 1:printf(“B”);}的输出结果为A (N)17.While 和d o…whil e循环无论在什么条件下它们结果都相同。

(N)18.逻辑表达式-5&&!8的值为1.(N)19.逻辑表达式-5&& 8的值为1.(Y)二、单选题1.若有说明:int a[3][4]=0;则下面正确的叙述是(D)A.只有元素a[0][0]可得到初值0B.此说明语句不正确C.数组a中各元素都可以得到初值,但其值不一定是0D.数组a中每个元素均可得到初值02.C语言规定,函数返回值的类型是由(D)A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定3.若有下列定义,则对a数组元素A[2]地址的正确引用是(C)A.*(P+5)B.*p+2C.*(a+2)D.*&a[5]4.为表示关系x≥y≥z,应使用C语言表达式(A)A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=z)&&(y>=z)5.设有说明:char c; int x; doubl e z;则表达式c*x+z值的数据类型为(D)A.fl oatB.intC.charD.d oubl e6.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(D)A.a>=10 or a<=10B.a>=0 | a<=10C.a>=10 && a<=10D.a>=10 || a<=07.已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是(D)A.p=&j,p=p1B.p=aC.p=&a[j]D.p=108.C语言的if语句嵌套时,if与else的配对关系是(A)A.每个else总是与它上面的最近的if配对B.每个else总是与最外层的if配对C.每个else与if的配对是任意的D.每个else总是与它上面的if配对9.已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是(C)A.0B.语法错C.1D.“假”10.如果int a=2,b=3,c=0,下列描述正确的是(B)A.a>=b!=c和a>(b!=c)的执行顺序是一样的B.!a!=(b!=c)表达式的值是1C.a||(b=c)执行后b的值为0D.a&&b>c的结果为假11.若有说明:int *p1,*p2,m=5,n;以下均是正确的赋值语句的选项是(C)A.p1=&m;p2=&p1B.p1=&m;p2=&n;*p1=*p2;C.p1=&m;p2=p1D.p1=&m;*p2=*p112.设有说明:char w; int x; fl oat y; d ouble z;则表达式w*x+z-y值的数据类型为(D)A.fl oatB.intC.charD.d oubl e13. C语言规定,在一个源程序中,main函数的位置(C)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后14.C语言的if语句嵌套时,if与else的配对关系是(A)A.每个else总是与它上面的最近的if配对B.每个else总是与最外层的if 配对C.每个else与if的配对是任意的D.每个else总是与它上面的if配对15.下列字符序列中,不可用做C语言标识符的是(B)A. b70B. #abC. symbolD. a_116.整形变量x=1,y=3,经下列计算后,x的值不等于6的是(B)A.x=(x=1+2,x*2)B.x=y>2?6:5C.x=9-(--y)-(y--)D.x=y*4/217.若有下列定义,则对a数组元素a[2]地址的正确引用是(C)A. *(p+5)B. *p+2C. *(a+2)D. *&a[5]18.在C语言中,能代表逻辑值“真”的是(D)A.TrueB.大于0的数C.非0整数D.非0的数19.任何一个C语言的可执行程序都是从(B)开始执行的,A. 程序中的第一个函数B. main( )函数的入口处C. 程序中的第一条语句D. 编译预处理语句20.下列语句中,不正确的是(C)A. char a[2]={1,2};B. int a[2]={‘1’,’2’};C. char a[2]={‘1’,’2’,’3’};D.char a[2]={‘1’};21.C语言中不可嵌套的是(B)A.函数调用B. 函数定义C.循环语句D.选择语句22.若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是(C)A. p1=&m;p2=&p1B. p1=&m;p2=&n; *p1=*p2C. p1=&m;p2=p1D. p1=&m;*p2=*p123.在C语言中,调用函数除函数名以外,还必须有(C)A. 函数预说明B. 实际参数C.()D. 函数返回值24.以下不能对二维数组a进行正确初始化的语句是(C)A. int a[2][3]={0};B. int a[ ][3]={ {1,2} ,{0} };C. int a[2][3]={ {1,2},{3,4},{5,6} };D. int a[ ][3]={1,2,3,4,5,6};25.C语言中whil e 和do-whil e 循环的主要区别是(B)A. While 的循环控制条件比d o-whil e的循环控制条件严格B. d o-whil e 的循环体至少无条件执行一次C. d o-whil e 允许从外部转到循环体内D.d o-whil e循环体不能是复合语句26.以下叙述正确的是(A)A. C程序中注释部分可以出现在程序中任意合适地方B. 花括号“{ “和”}”只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语言之间的分隔符,不是语句的一部分27.变量的指针,其含义是指该变量的(B)A.值B.地址C.名D.一个标志28.若有说明: int a[ 3] [ 4]={ 0};则下面的叙述正确的是(D)A.只有元素a[0] [0]可得到初值0B.此说明语句不正确C.数组a 中各元素都可得到初值,但其值不一定为0D.数组a中各元素均可得到初值029.表达式18/4*sqrt(4.0)/8的值的数据类型为(C)A. intB. fl oatC. d oubl eD. 不确定30.以下标识符中,不能作为合法的C用户定义标识符的是(C)A. AnswerB. ToC. SignedD. if31.变量p为指针变量,若p=&a,下列说法不正确的是(D)A. &*p==&aB. *&a==aC. (*p)++==a++D. *(p++)==a++32. int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为(C)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档