单选题 C语言.docx
- 文档编号:4238071
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:58
- 大小:31.61KB
单选题 C语言.docx
《单选题 C语言.docx》由会员分享,可在线阅读,更多相关《单选题 C语言.docx(58页珍藏版)》请在冰豆网上搜索。
单选题C语言
一、单项选择共206题
第1题题号:
3123
下列数据中属于"字符串常量"的是
A:
ABC
B:
"ABC"
C:
'ABC'
D:
'A'
答案:
B
第2题题号:
3090
能正确表示逻辑关系:
"a≥10或a≤0"的C语言表达式是
A:
a>=10ora<=0
B:
a>=0|a<=10
C:
a>=10&&a<=0
D:
a>=10||a<=0
答案:
D
第3题题号:
3122
从循环体内某一层跳出,继续执行循环外的语句是
A:
break语句
B:
return语句
C:
continue语句
D:
空语句
答案:
C
第4题题号:
3114
C语言源程序名的后缀是
A:
exe
B:
c
C:
obj
D:
cp
答案:
B
第5题题号:
3120
下列()表达式的值为真,其中a=5;b=8;c=10;d=0
A:
a*2>8+2
B:
a&&d
C:
(a*2-c)||d
D:
a-b 答案: D 第6题题号: 3124 C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件 A: .c B: .obj C: .exe D: .bas 答案: C 第7题题号: 3162 若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时,___是正确的输入 A: 2030,40 B: 203040 C: 20,3040 D: 20,30,40 答案: D 第8题题号: 3098 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是 A: extern B: register C: auto D: static 答案: D 第9题题号: 3161 C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为 A: .c B: .obj C: .exe D: .bas 答案: B 第10题题号: 3109 C语言的if语句中,用作判断的表达式为 A: 任意表达式 B: 逻辑表达式 C: 关系表达式 D: 算术表达式 答案: A 第11题题号: 3129 设有说明: charc;intx;doublez;则表达式c*x+z值的数据类型为 A: float B: int C: char D: double 答案: D 第12题题号: 3166 定义共用体的关键字是 A: union B: enum C: struct D: typedef 答案: A 第13题题号: 3153 以下正确的字符串常量是 A: "\\\" B: 'abc' C: OlympicGames D: 'A' 答案: A 第14题题号: 3126 定义结构体的关键字是 A: union B: enum C: struct D: typedef 答案: C 第15题题号: 3128 下列正确的标识符是 A: _do B: 6a C: %y D: a+b 答案: A 第16题题号: 3091 C程序的基本结构单位是 A: 文件 B: 语句 C: 函数 D: 表达式 答案: C 第17题题号: 3130 下列说法中错误的是 A: 一个数组只允许存储同种类型的变量 B: 如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值 C: 数组的名称其实是数组在内存中的首地址 D: 当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改 答案: B 第18题题号: 3139 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为 A: 算术运算、赋值运算、关系运算 B: 关系运算、赋值运算、算术运算 C: 算术运算、关系运算、赋值运算 D: 关系运算、算术运算、赋值运算 答案: C 第19题题号: 3144 若x=2,y=3则x||y的结果是 A: 0 B: 1 C: 2 D: 3 答案: B 第20题题号: 3110 C语言程序的三种基本结构是顺序结构、选择结构和______结构. A: 循环 B: 递归 C: 转移 D: 嵌套 答案: A 第21题题号: 3092 设有说明: charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(). A: float B: int C: char D: double 答案: D 第22题题号: 3106 执行下列程序段后,m的值是________. intw=2,x=3,y=4,z=5,m; m=(w w: x; m=(m m: y; m=(m m: z; A: 4 B: 3 C: 5 D: 2 答案: D 第23题题号: 3108 C语言的switch语句中case后 A: 只能为常量 B: 只能为常量或常量表达式 C: 可为常量或表达式或有确定值的变量及表达式 D: 可为任何量或表达式 答案: B 第24题题号: 3100 C语言函数的隐含存储类别是 A: static B: auto C: register D: extern 答案: D 第25题题号: 3142 以下程序的执行结果是________. main() {intw=1,x=2,y=3,z=4; w=(w x: w; w=(w y: w; w=(w z: w; printf("%d",w);} A: 1 B: 2 C: 3 D: 4 答案: D 第26题题号: 3160 为表示关系x≥y≥z,应使用C语言表达式 A: (x>=y)&&(y>=z) B: (x>=y)AND(y>=z) C: (x>=y>=z) D: (x>=z)&(y>=z) 答案: A 第27题题号: 3167 下列关于指针定义的描述,___________是错误的 A: 指针是一种变量,该变量用来存放某个变量的地址值的 B: 指针是一种变量,该变量用来存放某个变量的值 C: 指针变量的类型与它所指向的变量类型一致 D: 指针变量的命名规则与标识符相同 答案: B 第28题题号: 3088 下列变量中合法的是 A: B.C.Tom B: 3a6b C: _6a7b D: $ABC 答案: C 第29题题号: 3145 C语言中,switch后的括号内表达式的值可以是 A: 只能为整型 B: 只能为整型,字符型,枚举型 C: 只能为整型和字符型 D: 任何类型 答案: D 第30题题号: 3159 字符串指针变量中存入的是 A: 字符串 B: 字符串的首地址 C: 第一个字符 D: 字符串变量 答案: B 第31题题号: 3135 C语言函数内定义的局部变量的隐含存储类别是 A: static B: auto C: register D: extern 答案: B 第32题题号: 3094 C语言中,逻辑"真"等价于 A: 大于零的数 B: 非零的数 C: 大于零的整数 D: 非零的整数 答案: B 第33题题号: 3117 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A: A,B B: A,68 C: 65,66 D: 65,68 答案: C 第34题题号: 3125 若有定义inta[10],*p=a;,则p+5表示 A: 元素a[5]的地址 B: 元素a[5]的值 C: 元素a[6]的地址 D: 元素a[6]的值 答案: A 第35题题号: 3102 若inta=3,则执行完表达式a-=a+=a*a后,a的值是 A: -15 B: -9 C: -3 D: 0 答案: D 第36题题号: 3157 若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用 inta[]={1,2,3,4,5},*p,i; p=a; A: *(a+2) B: a[p-3] C: p+2 D: a+3 答案: A 第37题题号: 3165 main() {intx=1,a=0,b=0; switch(x) {case0: b++; case1: a++; case2: a++;b++;}printf("a=%d,b=%d",a,b); }该程序的输出结果是() A: 2,1 B: 1,1 C: 1,0 D: 2,2 答案: A 第38题题号: 3143 以下程序的输出结果是________. voidfun(inta,intb,intc) {a=456;b=567;c=678;} main() {intx=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",z,y,x);} A: 30,20,10 B: 10,20,30 C: 456567678 D: 678567456 答案: A 第39题题号: 3137 有定义: char*p1,*p2;则下列表达式中正确合理的是 A: p1/=5 B: p1*=p2 C: p1=&p2 D: p1+=5 答案: C 第40题题号: 3099 若有以下定义和语句: inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 不能表示a数组元素的表达式是 A: *p B: a[10] C: *p++ D: a[*p-a] 答案: D 第41题题号: 3147 对于定义,char*aa[2]={"abcd","ABCD"},选项中说法正确的是 A: aa数组元素的值分别是"abcd"和"ABCD" B: aa是指针变量,它指向含有两个数组元素的字符型一维数组 C: aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D: aa数组的两个元素中各自存放了字符'a'和'A'的地址 答案: D 第42题题号: 165 下列定义数组的语句中正确的是()。 A: #definesize10charstr1[size],str2[size+2]; B: charstr[]; C: intnum['10']; D: intn=5;inta[n][n+2]; 答案: A 第43题题号: 106 以下叙述中不正确的是()。 A: 一个好的程序应该有详尽的注释 B: 在C程序中,赋值运算符的优先级最低 C: 在C程序中,j++;是一条赋值语句 D: C程序中的#include和#define均不是C语句 答案: B 第44题题号: 118 已知year为整型变量,不能使表达式(year%4==0&&year%100! =0) ||year%400==0的值为“真”的数据是()。 A: 1990 B: 1992 C: 1996 D: 2000 答案: A 第45题题号: 153 在C语言中,if语句后的一对原括号中,用以决定分支的流程的表 达式()。 A: 只能用逻辑表达式 B: 只能用关系表达式 C: 只能用逻辑表达式或关系表达式 D: 可用任意表达式 答案: D 第46题题号: 144 设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。 A: 552 B: 144 C: 264 D: -264 答案: D 第47题题号: 101 以下数据中,不正确的数值或字符常量是()。 A: 8.9e1.2 B: 10 C: 0xff00 D: 82.5 答案: A 第48题题号: 135 已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。 chara='a';a--; printf("%d,%c\n",a+'2'-'0',a+'3'-'0'); A: b,c B: a--运算不合法,故有语法错 C: 98,c D: 格式描述和输出项不匹配,输出无定值 答案: C 第49题题号: 198 设有以下语句,若0 charstr[4][2]={"aaa","bbb","ccc","ddd"},*strp[4]; intj; for(j=0;j<4;j++) strp[j]=str[j]; A: strp B: str[k] C: strp[k] D: *strp 答案: A 第50题题号: 199 若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。 A: 非法,2 B: &a[1][0],2 C: &a[0][1],3 D: a[0][0],4 答案: B 第51题题号: 136 下列程序的输出结果为()。 main() {intm=7,n=4; floata=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf("%f\n",x); } A: 27.000000 B: 27.500000 C: 28.000000 D: 28.500000 答案: A 第52题题号: 159 下列程序的输出为()。 main() {inty=10; while(y--); printf("y=%d\n",y); } A: y=0 B: while构成无限循环 C: y=1 D: y=-1 答案: D 第53题题号: 189 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。 A: intp=&x; B: int*p=x; C: int*p=&x; D: *p=*x; 答案: C 第54题题号: 128 若int类型数据占两个字节,则下列语句的输出为()。 intk=-1;printf("%d,%u\n",k,k); A: -1,-1 B: -1,32767 C: -1,32768 D: -1,65535 答案: D 第55题题号: 179 以下函数调用语句中实参的个数是()。 exce((v1,v2),(v3,v4,v5),v6); A: 3 B: 4 C: 5 D: 6 答案: A 第56题题号: 125 下列程序的输出结果是()。 main() {inta=7,b=5; printf("%d\n",b=b/a); } A: 0 B: 5 C: 1 D: 不确定值 答案: A 第57题题号: 187 经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是()。 A: p=p+2; B: p=a[5]; C: p=a[2]+2; D: p=&(j+2); 答案: A 第58题题号: 100 以下标识符中,不能作为合法的C用户定义标识符的是()。 A: putchar B: _double C: _123 D: INT 答案: A 第59题题号: 168 若输入ab,程序运行结果为()。 main() {staticchara[2]; scanf("%s",a); printf("%c,%c",a[1],a[2]); } A: a,b B: a, C: b, D: 程序出错 答案: C 第60题题号: 102 以下数据中,不正确的数值或字符常量是()。 A: c B: 66 C: 0xaa D: 50 答案: A 第61题题号: 130 以下程序段的执行结果是()。 doublex;x=218.82631;printf("%-6.2e\n",x); A: 输出格式描述符的域宽不够,不能输出 B: 输出为21.38e+01 C: 输出为2.2e+02 D: 输出为-2.14e2 答案: C 第62题题号: 115 先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是()。 A: c='a'; B: c="a"; C: c="97"; D: C='97' 答案: A 第63题题号: 163 下列数组说明中,正确的是()。 A: intarray[][4]; B: intarray[][]; C: intarray[][][5]; D: intarray[3][]; 答案: A 第64题题号: 119 下列运算符中,不属于关系运算符的是()。 A: < B: > C: >= D: ! 案: D 第65题题号: 178 以下对C语言函数的描述中,正确的是()。 A: C程序必须由一个或一个以上的函数组成 B: C函数既可以嵌套定义又可以递归调用 C: 函数必须有返回值,否则不能使用函数 D: C程序中有调用关系的所有函数必须放在同一个程序文件中 答案: A 第66题题号: 137 若给定条件表达式(M)? (a++): (a--),则其中表达式M()。 A: 和(M==0)等价 B: 和(M==1)等价 C: 和(M! =0)等价 D: 和(M! =1)等价 答案: C 第67题题号: 166 下列定义数组的语句中不正确的是()。 A: staticinta[2][3]={1,2,3,4,5,6}; B: staticinta[2][3]={{1},{4,5}}; C: staticinta[][3]={{1},{4}}; D: staticinta[][]={{1,2,3},{4,5,6}}; 答案: D 第68题题号: 181 C语言中函数调用的方式有()。 A: 函数调用作为语句一种 B: 函数调用作为函数表达式一种 C: 函数调用作为语句或函数表达式两种 D: 函数调用作为语句、函数表达式或函数参数三种 答案: D 第69题题号: 171 在C语言的函数中,下列正确的说法是()。 A: 必须有形参 B: 形参必须是变量名 C: 可以有也可以没有形参 D: 数组名不能作形参 答案: C 第70题题号: 200 若有定义: char*p1,*p2,*p3,*p4,ch; 则不能正确赋值的程序语句为()。 A: p1=&ch;scanf("%c",p1); B: p2=(char*)malloc (1);scanf("%c",p2); C: *p3=getchar(); D: p4=&ch;*p4=getchar(); 答案: C 第71题题号: 108 设C语言中,int类型数据占2个字节,则short类型数据占()。 A: 1个字节 B: 2个字节 C: 4个字节 D: 8个字节 答案: B 第72题题号: 147 执行下列语句后,a和b的值分别为()。 inta,b; a=1+'a'; b=2+7%-4-'A'; A: -63,-64 B: 98,-60 C: 1,-60 D: 79,78 答案: B 第73题题号: 167 下列语句中,不正确的是()。 A: staticchara[2]={1,2}; B: staticinta[2]={'1','2'}; C: staticchara[2]={'1','2','3'}; D: staticchara[2]={'1'}; 答案: C 第74题题号: 172 在C语言程序中()。 A: 函数的定义可以嵌套,但函数的调用不可以嵌套 B: 函数的定义不可以嵌套,但函数的调用可以嵌套 C: 函数的定义和函数调用均可以嵌套 D: 函数的定义和函数调用不可以嵌套 答案: B 第75题题号: 195 若有下列定义和语句,则对a数组元素的非法引用是()。 inta[2][3],(*pt)[3];pt=a; A: pt[0][0] B: *(pt+1)[2] C: *(pt[1]+2) D: *(a[0]+2 答案: B 第76题题号: 120 假设所有变量均为整型,表达式: a=2,b=5,a>b? a++: b++,a+b的值 是()。 A: 7 B: 8 C: 9 D: 2 答案: B 第77题题号: 105 以下运算符中,优先级最高的运算符是()。 A: = B: ! = C: *(乘号) D: () 答案: D 第78题题号: 185 下列程序运行结果为: #defineP3 #defineS(a)P*a*a main() {intar; ar=S(3+5); printf("\n%d",ar); } A: 192 B: 29 C: 27 D: 25 答案: B 第79题题号: 191 设有说明int(*ptr)[M];其中标识符ptr是()。 A: M个指向整型变量的指针 B: 指向M个整型变量的函数指针 C: 一个指向具有M个整型元素的一维数组的指针 D: 具有M个指针元素的一维指针数组,每个元素都只能指向整型量 答案: C 第80题题号: 138 以下程序的输出结果是()。 main() {inti,j,k,a=3,b=2; i=(--a==b++)? --a: ++b; j=a++;k=b; printf("i=%d,j=%d,k=%d\n",i,j,k); } A: i=2,j=1,k=3 B: i=1,j=1,k=2 C: i=4,j=2,k=4 D: i=1,j=1,k=3 答案: D 第81题题号: 152 以下程序的运行结果是()。 main() {intn; for(n=1;n<=10;n++) { if(n%3==0)continue; printf("%d",n); } } A: 12457810 B: 369 C: 12 D: 1234567890 答案: A 第82题题号: 205 变量p为指针变量,若p=&a,下列说法不正确的是()。 A: &*p==&a B: *&a==a C: (*p)++==a++ D: *(p++)==a++ 答案: D 第83题题号: 91 以下数值中,不正确的八进制数或十六进制数是()。 A: 0x16 B: 16 C: -16 D: 0xaaaa 答案: C 第84题题号: 201 当定义一个结构体变量时,系统分配给它的内存是()。 A: 各成员所需内存量的总和 B: 结构中第一个成员所需内存量 C: 结构中最后一个成员所需内存量 D: 成员中占内存量最大者所需的容量 答案: A 第85题题号: 143 C语言中以下几种运算符的优先次序()的排列是正确的。 A: 由高到低为: ! &&,||,算术运算符,赋值运算符 B: 由高到低为: ! 算术运算符,关系运算符,&&,||,赋值运算符 C: 由高到低为: 算术运算符,关系运算符,赋值运算符,! &&,|| D: 由高到低为: 算术运算符,关系运算符,! &&,||,赋值运算符 答案: B 第86题题号: 129 若k,g均为int型变量,则下列语句的输出为()。 k=017;g=111;printf("%d\t",++k);printf("%x\n",g++); A: 156f B: 1670 C: 1571 D: 166f 答案: D 第87题题号: 132 若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97), 则以下程序段的执行结果是()。 ch='a';k=12;printf("%x,%o,",ch,ch,k);printf("k=%%d\n",k); A: 因变量类型与格式描述符的类型不匹配,输出无定值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单选题 C语言 选题 语言