《C语言程序设计》在线作业二
试卷总分:100 得分:100
一、单选题 (共 40 道试题,共 100 分)
1.使用scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的输入格式是()。
A.a=2.2,b=3
B.a=2.2 b=3
C.2.2 3
D.2.2,3
2.程序 #include <stdio.h> void main( ) { struct ss{ int x; float y; } m[2]={10, 5.6, 20, 7.8}; printf(“%5.1f\n”, m[0].x*m[1].y); } 执行后的输出结果是( )
A.78.0
B.56.0
C.5.6
D.7.8
3.以下正确的整型常数是( )
A.79.
B.3.1416
C.2×102
D.80
4.下列不属于字符常量的是( )
A.‘\n’
B.”k”
C.’A’
D.’3’
5.设int a=2,b=3,c;,以下不正确的赋值语句是_____.
A.b=a=10;
B.b+=a%5;
C.a+=b++=c;
D.a+=b+=5;
6.程序#include <stdio.h> void main() { int i,a[5]={1,2,3,4,5}; i=3; switch(i-1) { case 1:printf(“%d”,a[0]); case 2:printf(“%d”,a[1]); case 3:printf(“%d”,a[2]);break; define:printf(“%d”,a[3]);break; } printf(“\n”); } 执行后的输出结果是( )
A.12
B.23
C.234
D.1234
7.程序 #include<stdio.h> void f (int *x, int *y ) { int t; t=*x; *x=*y; *y=t; } void main() { int a[ ]={1,2,3,4,5,6}, i, *p, *q; p=a; q=a+5; while(p<q) { f(p,q); p++; q–; } for( i=0; i<6; i++) printf(“%d ”, a[i] ); } 程序的输出结果是( )
A.6 5 4 3 2 1
B.1 2 3 4 5 6
C.6 1 2 3 4 5
D.4 5 6 1 2 3
8.下列叙述不正确的是________。
A.函数定义可以嵌套
B.宏定义可以嵌套
C.函数调用可以嵌套
D.循环结构可以嵌套
9.以下叙述错误的是___ 。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.C程序的注释只能位于语句的后面
10.程序 #include <stdio.h> void main( ) { struct cmp{ int a; int b; }x={5,3},y={6,4 }; printf(“%d\n”, x .b*y.a); } 执行后的输出结果是( )
A.12
B.15
C.18
D.30
11.下列合法的数组定义是 ___ 。
A.char a[ ]=”hello”;
B.int a[4]={4,3,2,1,0};
C.char a=”hello” ;
D.char a[4]= “hello”;
12.设int a[][3]={1,3,5,2,4,6,0};,则a数组的行数是______。
A.2
B.3
C.4
D.任意
13.设int a=5,b=2,c=3,d=4;,则表达式(a<b)?c+d:c-d 的值是____.
A.-1
B.3
C.4
D.7
14.p1,p2 为指向浮点类型的指针变量,下列运算没有意义的是________。
A.*p1-*p2
B.p1++
C.*p1+*p2
D.p1+p2
15.下列选项中,书写正确的是 ___ 。
A.#define PI=3.14159
B.include “stdio.h”
C.define M 3
D.#define PI 3.14159
16.以下可以用于C语言用户标识符的是( )
A.max
B.2x
C.do
D.x*y
17.设int a[6]={1,2,3,4,5,6 }, *p=a;, *(p+3)的值是____.
A.3
B.4
C.5
D.6
18.若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a的元素个数为()。
A.8
B.5
C.3
D.15
19.程序 #include <stdio.h> void main() { char str[][10]={ ”ABC”,“DEF”,”GHI”,”XYZ”}; int i; for(i=0;i<3;i++) printf(“%s ”,str[i]); } 执行后的结果是( )
A.ABCDEF
B.ABCDEFGHI
C.ADG
D.ABCDEFGHIXYZ
20.对于程序片段 int i,a[5];for(i=0;i<5;i++)scanf(“%d”,&a[i]); 若要使数组元素的值分别为1,2,3,4,5,正确的输入是 _________。
A.1,2,3,4,5
B.1 2 3 4 5
C.12345
D.1;2;3;4;5
21.执行printf(“%-4d%c”,85,’A’);后的结果是_____(每个□代表一个空格)。
A.85A
B.85□□A
C.□□85A
D.□□85□□A
22.以下可以作为变量名的是( )
A.3x
B.double
C.sum_1
D.a+b
23.程序: #include <stdio.h> void main( ) { int a=15,b=4; printf(“%d\n”, a=a/b); } 的输出结果是( )
A.3
B.3.5
C.a=3
D.a=3.500000
24.设int a[5]={2,4,6,8,10},*p=a;, 则a[p-a+2]的值是_______。
A.2
B.4
C.6
D.8
25.程序 #include <stdio.h> void main () { int x=1,a=0,b=0; switch(x) { case 0: a++; break ; case 1: b++; case 2: a++, b++; break ; default: a++; break; } printf(“a=%d,b=%d”,a,b); } 程序的输出结果是( )
A.a=0,b=0
B.a=1,b=1
C.a=2,b=1
D.a=1,b=2
26.对于定义 struct exp{int i;float j;double k;}x;变量x所占用的内存字节数为________。
A.8
B.7
C.14
D.18
27.设x=1,y=2,m=4,n=3,则表达式x>y?x:m<n?y:n的值为()。
A.1
B.3
C.2
D.4
28.C语言的程序执行总是从_____开始.
A.程序的第一条语句
B.程序中第一个函数
C.main( )函数
D.#include 指定的包含文件
29.以下叙述中错误的是_______。
A.形式参数是局部变量
B.形式参数不能是常数
C.一个函数中只能有一条return语句
D.不同函数中可以使用相同名字的变量
30.下列二维数组初始化中,错误的是________.
A.int a[ ][3]={{3,4},{5,6,7}};
B.int a[ ][3]={2,3,4,5,6,7};
C.int a[3][3]={0};
D.int a[3][]={{1,2,3},{2,3}, {3,4,5}};
31.对于C程序的函数,下列叙述中正确的是 ___ 。
A.函数的定义不能嵌套,但函数调用可以嵌套
B.函数的定义可以嵌套,但函数调用不能嵌套
C.函数的定义和调用均可以嵌套
D.函数的定义和调用均不能嵌套
32.设x和y为浮点型变量,则正确的赋值语句是 ________。
A.x=&y
B.x*x=y
C.x=x+10*y
D.*x=y+2
33.设int类型的数据长度为2字节,则该类型数据的取值范围是________。
A.0至65536
B.0至65535
C.-32767至32768
D.-32768至32767
34.与算术运算符’*’和’/’同一级别的运算符是______。
A.!
B.+
C.%
D.<
35.设int a=1,b=2; 执行语句a=b%4;后,a的值是____.
A.0.5
B.1
C.2
D.4
36.以下叙述中错误的是 ___ 。
A.计算机不能直接执行源程序
B.C语言源程序经编译后生成的.obj文件是二进制文件
C..obj文件经连接后生成的.exe文件是二进制文件
D..obj和.exe的二进制文件都可以直接运行
37.结构化程序的三种基本结构是 _________。
A.顺序结构,分支结构,循环结构
B.递归结构,循环结构,转移结构
C.嵌套结构,循环结构,顺序结构
D.递归结构,分支结构,顺序结构
38.设有:char s[ ]=”abcde”; 语句printf(“%d”,strlen(s)); 输出结果是( )
A.5
B.6
C.s
D.abcde
39.设 char *p=“abcde”,则printf(“%s”, p ) 的输出结果为________。
A.c
B.cd
C.b
D.abcde
40.以下正确的用户标识符是( )
A.A$
B.for
C.123s
D.xy_2