1、以下说法中正确的是(C)
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
2、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)
A、有零个或多个输入
B、有零个或多个输出
C、有穷性
D、可行性
3、以下选项中,不合法常量的是 (B)
A、1.234e04
B、1.234e0.4
C、1.234e+4
D、1.234e0
4、C语言中最简单的数据类型包括(B)
A、整型、实型、逻辑型
B、整型、实型、字符型
C、整型、字符型、逻辑型
D、整型、实型、逻辑型、字符型
5、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是 (D)
A、 10>=a>=0
B、 a>=0 and a<=10
C、 a>=0||a<=10
D、 a>=0&&a<=10
6、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A、 6.500000
B、 6
C、 5.500000
D、 6.000000
7、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);
8、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)
A、 把x和y按从大到小排列
B、 把x和y按从小到大排列
C、 无确定结果
D、 交换x和y中的值
9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)
A、 0
B、 0.5
C、 1
D、 2
10、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。
A、A
B、a
C、Z
D、z
11、执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d %d %d\n”,k,a,b);后的输出结果是( D ) 。
A、1 0 4
B、1 0 3
C、0 0 3
D、0 0 4
12、设 int x=1, y=1; 表达式(!x||y--)的值是( B )。
A、0
B、1
C、2
D、-1
13、程序段 int x=3; do { printf(“%d”,x-=2); } while (!(--x));的输出结果是( C )。
A、1
B、3 0
C、1 -2
D、死循环
14、程序段for (i=2; i==0; ) printf(“%d” , i--) ;的循环次数是( B )。
A、无限次
B、0次
C、1次
D、2次
15、语句int k=1; while (k++<10);执行后,变量k的值是( B )。
A、10
B、11
C、9
D、无限循环,值不定
16、程序 int i,sum; for(i=1;i<=3;sum++)sum+=i; printf(“%d\n”,sum); 的执行结果是( C )。
A、6
B、3
C、不确定
D、0
17、以下对二维整形数组a的正确说明是( C)。
A、int a[3][];
B、float a(3,4);
C、double a[1][4];
D、float a(3)(4)
18、若已定义char s[10];在下面表达式中不能表示s[1]的地址的是(B )。
A、s+1
B、s++
C、&s[0]+1
D、&s[1]
19、对两个字符数组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数组长度长
20、有说明:char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};则表达式*language[1]>*language[2]比较的是( A )
A、字符B和字符P
B、字符串FORTRAN和字符串BASIC
C、字符F和字符B
D、字符串BASIC和字符串PASCAL
21、C语言程序由函数组成,它的( B)。
A、主函数必须在其它函数之前,函数内可以嵌套定义函数
B、主函数可以在其它函数之后,函数内不可以嵌套定义函数
C、主函数必须在其它函数之前,函数内不可以嵌套定义函数
D、主函数必须在其它函数之后,函数内可以嵌套定义函数
22、在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是( D )。
A、extern
B、register
C、auto
D、static
23、已知:int a[]={1,2,3,4,5,6},*p=a;则值为3的表达式是 ( A )。
A、p+=2,*(p++)
B、p+=2,*++p
C、p+=3,*p++
D、p+=2,++*p
24、设有说明语句“struct stu{ int a; float b;}stutype;”,则叙述不正确的是(C )
A、struct是结构体类型的关键字。
B、struct stu是用户定义的结构体类型。
C、stutype是用户定义的结构体变量名。
D、a和b都是结构体变量。
25、下列关于文件指针的描述中,错误的是(D )
A、文件指针是由文件类型FILE定义的。
B、文件指针是指向内存某个单元的地址值。
C、文件指针是用来对文件操作的标识。
D、文件指针在一个程序中只能有一个。
26、以下叙述中正确的是(B)
A、C语言的源程序不必通过编译就可以直接运行
B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C、C源程序经编译形成的二进制代码可以直接运行
D、C语言中的函数不可以单独进行编译
27、以下叙述中正确的是 (C)
A、用C语言实现的算法必须要有输入和输出操作
B、用C语言实现的算法可以没有输出但必须要有输入
C、用C程序实现的算法可以没有输入但必须要有输出
D、用C程序实现的算法可以既没有输入也没有输出、
28、C语言中, 下列字符常量合法的是(A)
A、'\t'
B、"A"
C、65
D、A
29、下列关于赋值运算符的表述中,错误的是(C)
A、赋值运算符优先级高于逗号运算符
B、赋值运算符的结合性是从左至右
C、赋值运算符是双目运算符
D、赋值运算符可在表达式中连用
30、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A、 6.500000
B、 6
C、 5.500000
D、 6.000000