c语言经典单选题

合集下载

C语言单选题

C语言单选题

1、下列符号串中,不属于C语言保留字的是A、ifB、thenC、staticD、for参考答案:B2、下列符号中,不属于转义字符的是A、\\B、\x00C、\nD、\09参考答案:D3、以下程序的输出结果是# include <stdio.h># include <string.h>void main(){char str[12]={'s','t','r','I','n','g','\0'};printf("%d\n",strlen(str));}A、6B、7C、11D、12参考答案:A4、下列符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day参考答案:C5、下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案:D6、C语言规定,函数返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定参考答案:D7、假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8参考答案:D8、若有以下说明,则数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',g;A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]参考答案:D9、以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面参考答案:D10、执行下列程序段,其中的do-while循环一共执行_次。

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

c语言单选题

c语言单选题

c语言单选题\、c语言源程序的基本单位是()。

a)过程b)函数c)子程序d)标识符答案:b\\、下列字符序列中,可用作c标识符的一组字符序列是()。

a)s.b,sum,average,_aboveb)class,day,lotus_1,2dayc)#md,&12x,month,student_n!d)d56,r_1_2,name,_st_1答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。

a)a3_b3b)voidc)_123d)if答案:b\\、以下数据中,不恰当的数值或字符常量就是()。

a)0b)5lc)o13d)9861答案:c\\、以下的选择中,正确的赋值语句是()。

a)a=1,b=2b)j++c)a=b=5;d)y=int(x)答案:c\\、以下运算符中,优先级最低的运算符就是()。

a)?:b)++c)&&d),答案:b\\、在c语言中,能代表逻辑值“真”的是()。

a)trueb)大于0的数c)非0整数d)非0的数答案:d\\、下列变量说明语句中,正确的是()。

a)char:abc;b)chara;b;c;c)intx;z;d)intx,z;答案:d\\、以下字符序列中,不容用做c语言标识符的就是()。

a)b70b)#abc)symbold)a_1答案:b\\、以下不正确的叙述是()。

a)在c程序中所用的变量必须先定义后采用b)程序中,aph和aph就是两个相同的变量c)若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变d)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。

a)forb)printfc)wordd)sizeof答案:d\\、以下标识符中,无法做为合法的c用户定义标识符的就是()。

a)answerb)toc)signedd)_if答案:c\\、以下标识符中,不能作为合法的c用户定义标识符的是()。

C语言单项选择题(含答案)

C语言单项选择题(含答案)

计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。

A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。

A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。

A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。

A)主函数可以分为两个部分:主函数说明部分和主函数体。

B)主函数可以调用任何非主函数的其它函数。

C)任何非主函数可以调用其它任何非主函数。

D)程序可以从任何非主函数开始执行。

7.下列关于C语言的说法错误的是。

A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。

A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。

B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。

C)由于C程序是高级语言程序,因此输入后即可执行。

D)由于C程序是高级语言程序,因此它是由命令组成的。

C语言100题

C语言100题

C语言100题C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: 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]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。

main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。

c语言考试题及答案解析

c语言考试题及答案解析1. 单项选择题- 题目1:以下哪个关键字用于定义C语言中的结构体?A. structB. unionC. enumD. typedef- 答案:A- 解析:关键字`struct`用于定义C语言中的结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。

- 题目2:C语言中,以下哪个运算符用于条件判断?A. &&B. ||C. %D. ==- 答案:D- 解析:运算符`==`用于比较两个值是否相等,常用于条件判断语句中。

2. 多项选择题- 题目1:以下哪些是C语言中的合法变量名?A. _myVarB. 2ndVarC. var_nameD. var$name- 答案:A, C- 解析:在C语言中,变量名可以以字母或下划线开头,后面可以跟任意数量的字母、数字或下划线。

因此,`_myVar`和`var_name`是合法的变量名,而`2ndVar`和`var$name`不是。

3. 判断题- 题目1:C语言中,数组的索引从0开始。

答案:正确- 解析:在C语言中,数组的索引确实是从0开始的。

- 题目2:C语言中,`char`类型的变量可以存储一个中文字符。

答案:错误- 解析:`char`类型的变量在C语言中通常用于存储一个单字节字符,而中文字符通常需要多于一个字节的存储空间,因此不能直接存储一个中文字符。

4. 填空题- 题目1:在C语言中,使用________关键字可以定义一个函数。

- 答案:int- 解析:在C语言中,使用`int`关键字可以定义一个返回整型值的函数,当然也可以定义其他类型的函数,如`void`用于定义无返回值的函数。

- 题目2:C语言中,使用________运算符可以交换两个变量的值。

- 答案:=- 解析:在C语言中,使用赋值运算符`=`可以交换两个变量的值,但需要使用临时变量。

5. 编程题- 题目1:编写一个C语言程序,计算并输出100以内所有偶数的和。

c语言考试题及答案百度文库

c语言考试题及答案百度文库一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. 下列哪个选项是C语言中合法的整型常量?A. 0x4FB. 4.5EC. 0b1010D. 0L答案:A二、填空题1. C语言中,用于定义一个变量为静态存储期的关键字是________。

答案:static2. C语言中,用于定义一个变量为自动存储期的关键字是________。

答案:auto3. C语言中,用于定义一个变量为寄存器存储期的关键字是________。

答案:register三、简答题1. 请简述C语言中指针的作用。

答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和修改变量的值,实现动态内存分配和数组操作等功能。

2. 请解释C语言中数组和指针的关系。

答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。

数组的每个元素可以通过指针访问,指针的偏移量可以用于遍历数组。

四、编程题1. 编写一个C语言程序,实现两个整数的加法运算。

答案:```c#include <stdio.h>int main() {int a = 5, b = 10;int sum = a + b;printf("Sum of %d and %d is %d\n", a, b, sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) { temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```。

计算机c语言考试题库和答案

计算机c语言考试题库和答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的标识符?A. 2variableB. variable2C. _variableD. variable!答案:C2. C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. int答案:D3. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 08D. 0.5答案:A4. 在C语言中,哪个运算符用于计算两个整数的除法?A. /B. %C. *D. //答案:A5. 下列哪个选项是C语言中的合法浮点型常量?A. 3.14B. .14C. 3e2D. 所有选项答案:D6. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. classD. enum答案:A7. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C9. 下列哪个选项是C语言中的合法字符常量?A. 'a'B. "a"C. '123'D. '\n'答案:D10. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A二、填空题(每题2分,共20分)11. 在C语言中,使用________关键字可以定义一个全局变量。

答案:extern12. C语言中,使用________函数可以将一个浮点数转换为整数。

答案:(int) 或者 (int)()13. C语言中,使用________运算符可以实现逻辑非操作。

答案:!14. C语言中,使用________函数可以实现字符串的比较。

C语言测试题(附有详细解析)

C语言测试题(附有详细解析)一、选择题1. 以下哪个选项是C语言的关键字?A. ifB. sizeofC. structD. include解析:C语言中,关键字是指被C语言本身定义的具有特定意义的单词。

选项A的`if`是关键字,用于条件判断;选项C的`struct`是关键字,用于定义结构体;选项D的`include`实际上是预处理指令的一部分,不属于关键字。

选项B的`sizeof`是运算符,用于计算数据类型或变量的大小。

因此,正确答案是A、C。

2. 在C语言中,以下哪个选项表示整型变量?A. charB. intC. floatD. double解析:在C语言中,`int`类型用于存储整数。

选项A 的`char`用于存储字符;选项C的`float`和选项D的`double`用于存储浮点数。

因此,正确答案是B。

3. 以下哪个选项表示逻辑运算符?A. `++`B. `--`C. `&&`D. `%`解析:逻辑运算符用于连接多个条件表达式,包括与运算符`&&`、或运算符`||`和非运算符`!`。

选项C的`&&`是逻辑与运算符。

选项A的`++`和选项B的`--`是算术运算符,用于自增和自减;选项D的`%`是取模运算符。

因此,正确答案是C。

二、填空题1. 在C语言中,定义一个整型变量`a`并赋值为10的代码是______。

解析:定义整型变量`a`并赋值为10的代码如下:```cint a = 10;```2. 以下代码的输出结果是______。

```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++ + ++x);return 0;}```解析:在C语言中,`x++`是先使用x的值,然后x自增1;`++x`是先x自增1,然后使用x的值。

因此,`x++ + ++x`的执行过程如下:- `x++`,此时x的值为5,输出5;- `++x`,此时x的值为6,输出6;- 最终输出结果为11。

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

1.已知int a,b;下列switch语句中正确的是( b )。

A. switch(a){case a: a++;break;case b: b++;break;}B. switch(a+b){case 1: a+b;break;case 2: a-b;break;}C. switch(a*a){case 1,2:++a;case 3,4:--b;}D. switch(a/0.5+b){case 5-a:a/5;break;default:a+b;}2.若有如下语句,则下面正确的描述是( b )。

char x[ ]="12345";char y[ ]={'1','2','3','4','5'};A. 数组x和数组y的长度相同(因为x的形式会自动补一个\0长度为6,而y的长度为5)B. 数组x的长度大于y数组的长度C. 数组x等价于数组yD. 数组x的长度小于数组y的长度3.scanf ( ) 函数的正确调用形式是( d )。

A.scanf(格式控制串,输出项表列);B.scanf(格式控制串,输出项地址表列);C.scanf(格式控制串,输入项表列);D.scanf(格式控制串,输入项地址表列);(有个&取地字符所以输入的是地址列表。

)4.下列说法正确的是( c )。

A. C 语言的主函数不允许有参数B. C 语言的主函数最多允许1 个参数C. C 语言的主函数可以无参数D. C 语言的主函数允许任意个参数5.表达式(!'1'||'1')+5 的值是( c )。

A. 不确定B. 5C. 6D. 77.若有以下定义和语句, char s1[]="12345", s2[]="1234";则函数strcmp(s1,s2)的值为( a )。

A. 大于0B. 小于0C. 等于0D. 等于1(strcmp是字符串比较的意思,s1>s2返回值大于0,s1=s2返回值等于0,s1<s2返回值小于0;且比的不是长度而是ASCII表的值的大小。

)8.选出表达式结果为假的一项( b )。

A. 1<4&&5>=4B. (2>5==5)C. (3<=3)&&(2<5)D. !(4<=8)||(3<=7)9.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( a )。

A. autoB. staticC. externD. register10.下列表达式中,( a )是非法的。

已知float a=5;int b=4;A. a%3+bB. b*b&&a||bC. (a>b)+(int)b%2D. --b+a11.下列运算符中,优先级别最高的是( b )。

A. <=B. %C. ||D. +12.关于下列语句描述正确的是( b )。

union{ unsigned int n;unsigned char c; }u1;A. u1是共用体类型名B. u1是共用体变量名C. u1是结构体类型名D. u1占用内存空间3字节13.设有int x,y;正确的输入语句是( c )。

A. scanf("%d%d",x,y);B. scanf("x=%f,y=%f",&x,&y);C. scanf("%d,%d",&x,&y);D. scanf("x=%d,y=%d",x,y);14.在一个C语言程序中( b )。

A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置15.有关预处理命令#define N 10,以下描述正确的是( c )。

A. N在程序运行时可以被改变B. N是个整型变量C. N没有值和类型的含义D. N是个标识符,称为宏体16.当调用函数时,实参是一个数组名,则向函数传送的是( b )。

A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值17.有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是( a )。

A. 011122B. 012C. 012020D. 12018.以下程序的输出结果是( d )。

#define M(x,y,z) x*y+zmain(){ int a=1,b=2, c=3;printf("%d\n", M(a+b,b+c, c+a));}A. 19B. 17C. 15D. 1219.下列程序的输出结果是( d )。

main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*p);}A. 非法B. a[4]的地址C. 5D. 420.函数fun(float x)的函数类型是( a )。

A. intB. voidC. floatD. 不确定(因为C语言默认的返回类型是int类型,即省略不写时返回为int类型)21.关于C程序说法正确的是( c )。

A. 一行只能写一条语句B. 一个语句不可以分写在多行上C. C语言本身没有输入输出语句D. 分号不是C语句的必要组成部分22.关于语句FILE *fp;描述错误的是( c )。

A. fp是一个指向FILE类型的指针变量B. 通过fp可以实现对与它相关文件的访问C. fp指向与它相关文件的地址D. 函数fclose(fp)可关闭fp指针指向的文件23.假定x和y为double型,则表达式x=2,y=x+3/2的值是( d )。

A. 3.500000B. 3C. 2.000000D. 3.000000(赋值从右至左3/2=1//因为都是整型double x=2,x+1=3.000000double y=3.000000)24.下列运算符结合方向是右结合的是( d )。

A. +B. &&C. >=D. ?:25.以下语句中不正确的是( a )。

A. char s[10];s="test";B. char s[]={'t','e','s','t'};C. char s[20]="test";D. char *s="test\n";26.有以下程序段int k=0;while(k=1) k++;while 循环执行的次数是( a )。

A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次27.关于else语句描述正确的是( c )。

A. 不可缺少B. 必须与离之最近的if语句配对使用(else与if配对的规则,else 与同层最接近它,而又没有其他else语句与之相匹配。

)C. 不可以单独使用D. 必须使用缩进格式表示28.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( c )。

A. 0B. 1C. 2D. 329.合法的赋值语句是( b )。

A. x=y=100B. d--;C. x+y;D. c=int(a+b);30.以下程序段的输出结果是( c )。

int x=3;do{ printf("%3d",x-=2);}while(!(--x));A. 1B. 3 0C. 1 -2D. 死循环31.只有当整数x为奇数时,表达式为逻辑“真”的是( b )。

A. x%2==0B. !(x%2==0)C. (x-x/2*2)==0D. !(x%2)31.下列程序段的输出结果是( a )。

for(a=1;a<=10;a++)if(a%3==1)break;printf("%d\n",a);A. 1B. 2C. 3D. 432.以下叙述中正确的是( b )。

A. 全局变量的作用域一定比局部变量的作用域范围大B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值33.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5)); ,该函数调用语句中,含有的实参个数是( a )。

A. 3B. 4C. 5D. 有语法错误(C语言规定,函数调用时实参与实参之间是用逗号隔开的,所以,本题的函数调用语句中包含3个实参,)34.与y=(x!=0?1:-1);功能相同的if语句是( b )。

A.if(x<>0) y=1;else y=-1;B.if(x) y=1;else y=-1;C.if(x) y=-1;else y=1;D.if(x>=0) y=1;35.以下能正确定义数组并正确赋初值的语句是( d )。

A. int N=5,b[N][N];B. int a[0][2]={{1},{3}};C. int c[2][]={{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};36.下列选项中合法的字符常量是( b )A. "&"B. 'R'C. "ABC"(字符串常量)D. "\n"37.若有如下定义:int a[10];则下面不能正确表示a[1]地址的表达式是( d )。

A. &a[1]B. &a[0]+1C. a+1D. a++38.若有以下程序:main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9} , i=0,sum=0;do{ sum+=a[i][i];i++;} while(i<3);printf( "%d" , sum ); }则程序运行后的输出结果是( a )。

相关文档
最新文档