|
• <返回
• 2023年秋季作业
•
单选题 资料来源:谋学网(www.mouxue.com)
得分:0分
正确 错误 未批阅
单选题(80题 共80分)
0 80 得分0分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
资料来源:谋学网(www.mouxue.com)(20题 共20分)
0 20 得分0分
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
已完成批阅重做
单选题
1(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
2(1分)、
0
以下程序运行的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/32>0?p/10:p%3)); }
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: D
展开解析
3(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d#%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3#5
• D、
35
参考答案: C
展开解析
4(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
5(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
1 7 0
• C、
3 7 0
• D、
5 5 0
参考答案: B
展开解析
6(1分)、
0
以下C语言源程序的书写格式不正确的是( )。
• A、
正确的函数首部,其后必须加上分号
• B、
分号是语句的一部分
• C、
一行上可以书写多条语句
• D、
一个语句可以写在多行之上
参考答案: A
展开解析
7(1分)、
0
若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
• A、
0和1
• B、
0和20
• C、
10和1
• D、
10和20
参考答案: B
展开解析
8(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
9(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: A
展开解析
10(1分)、
0
在C语言程序中( )。
• A、
main函数必须放在程序最前头
• B、
main函数必须放在程序最后
• C、
main函数必须放在所有函数之前
• D、
main函数可以放在程序任何允许放置函数的位置
参考答案: D
展开解析
11(1分)、
0
合法的数组说明语句是( )。
• A、
int a[ ]="string";
• B、
int a[5]={0,1,2,3,4,5};
• C、
char a ="string";
• D、
int a[ ]={0,1,2,3,4,5};
参考答案: D
展开解析
12(1分)、
0
struct student
{long int num;
char name[20];
char sex;
char addr[20];
}______。
以下能够正确定义的是
• A、
a={"Li Lin",10101,'M',"123 Beijing Road"};
• B、
a={10101,"Li Lin","123 Beijing Road",'M'};
• C、
a={10101,"Li Lin",'M',"123 Beijing Road"};
• D、
a={"123 Beijing Road","Li Lin",'M',10101};
参考答案: C
展开解析
13(1分)、
0
以下不能输出字符A的语句是()(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
• A、
printf(“%c\n”,’A’-32)
• B、
printf(“%d\n”,’A’);
• C、
printf(“%c\n”,65);
• D、
printf(“%c\n”,’B’-1);
参考答案: B
展开解析
14(1分)、
0
一个完整的C源程序是( )。
• A、
要由一个主函数或一个以上的非主函数构成
• B、
由一个且仅由一个主函数和零个以上的非主函数构成
• C、
要由一个主函数和一个以上的非主函数构成
• D、
由一个且只有一个主函数或多个非主函数构成
参考答案: B
展开解析
15(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: B
展开解析
16(1分)、
0
以下叙述中,不正确的是( )。
• A、
在同一C程序文件中,不同函数中可以使用同名变量
• B、
在main函数体内定义的变量是全局变量
• C、
形参是局部变量,函数调用完成即失去意义
• D、
若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
参考答案: B
展开解析
17(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=80, y=30, z=50
• C、
x=30, y=50, z=80
• D、
x=50, y=30, z=30
参考答案: D
展开解析
18(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
19(1分)、
0
两次运行下面的程序,如果从键盘上分别输入4和6,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
20(1分)、
0
有以下程序
#include <stdio.h>
main()
{ int a;
scanf("%d" ,&a);
if(a++<9) printf("%d\n",a);
else printf("%d\n",a);
}
程序运行时从键盘输入9<回车>,则输出的结果是 。
• A、
10
• B、
11
• C、
9
• D、
8
参考答案: A
展开解析
21(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
22(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
23(1分)、
0
有两个字符数组a,b,则以下正确的输入语句是( )。
• A、
gets(a,b);
• B、
scanf("%s%s",a,b);
• C、
scanf("%s%s",&a,&b);
• D、
gets("a"),gets("b");
参考答案: B
展开解析
24(1分)、
0
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
该程序可以输出所有的( )。
• A、
素数
• B、
奇数
• C、
偶数
• D、
水仙花数
参考答案: D
展开解析
25(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1 2<cr>
A B C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
26(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• B、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• C、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: C
展开解析
27(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
集合型
• B、
双精度型
• C、
复数型
• D、
布尔型
参考答案: A
展开解析
28(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
29(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
30(1分)、
0
以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 。
• A、
switch(a) {case 1:a=b;break; default:a++; }
• B、
switch(a==1) {case 0:a=b;break;case 1:a++; }
• C、
switch(a) {default:a++;break;case 1:a=b;}
• D、
switch(a==1) {case 1:a=b;break; case 0:a++;}
参考答案: B
展开解析
31(1分)、
0
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )
• A、
a=a++,i++;
• B、
i=(a+k)<=(i+k);
• C、
i=A%11;
• D、
i=!a;
参考答案: C
展开解析
32(1分)、
0
以下哪一个可以作为正确的变量名( )。
• A、
for
• B、
$abc
• C、
3*x
• D、
_file
参考答案: D
展开解析
33(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: C
展开解析
34(1分)、
0
已知if (x>y||x<z&&y>z);z=x; x=y; y=z;int x=30,y=50,z=80;语句执行后变量x、y、z的值分别为: 。
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: C
展开解析
35(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
36(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
37(1分)、
0
有如下程序
int func(int a,int b)
{ return(a+b); }
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是( )。
• A、
12
• B、
13
• C、
14
• D、
15
参考答案: D
展开解析
38(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: D
展开解析
39(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
40(1分)、
0
以下哪一个不是正确的C语言常量( )。
• A、
0x2ac
• B、
3.25e-8
• C、
800
• D、
0486
参考答案: D
展开解析
41(1分)、
0
若有说明:int a[3][4]={0};则下面正确的叙述是( )。
• A、
只有元素a[0][0]可得到初值0
• B、
此说明语句不正确
• C、
数组a 中各元素都可得到初值,但其值不一定为0
• D、
数组a 中每个元素均可得到初值0
参考答案: D
展开解析
42(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
43(1分)、
0
定义一个void型函数意味着调用该函数时,函数( )。
• A、
通过return返回一个用户所希望的函数值
• B、
返回一个系统默认值
• C、
没有返回值
• D、
返回一个不确定的值
参考答案: C
展开解析
44(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
3 7 0
• C、
5 5 0
• D、
1 7 0
参考答案: D
展开解析
45(1分)、
0
以下关于函数叙述中,错误的是( )。
• A、
函数未被调用时,系统将不为形参分配内存单元
• B、
实参与形参的个数应相等,且实参与形参的类型必须对应一致
• C、
当形参是变量时,实参可以是常量、变量或表达式
• D、
形参可以是常量、变量或表达式
参考答案: D
展开解析
46(1分)、
0
以下对一维整型数组a 的正确说明是( )。
• A、
int a(10);
• B、
int n=10,a[n];
• C、
int n; scanf("%d",&n); int a[n];
• D、
int a[3*5+2];
参考答案: D
展开解析
47(1分)、
0
以下关于函数的叙述中正确的是( )。
• A、
C语言程序将从源程序中第一个函数开始执行
• B、
可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
• C、
C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
• D、
main可作为用户标识符,用以定义任意一个函数
参考答案: C
展开解析
48(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
实型
• B、
浮点型
• C、
空类型
• D、
关系型
参考答案: C
展开解析
49(1分)、
0
以下不正确的叙述是( )。
• A、
一个#include命令只能指定一个被包含文件
• B、
一个#include命令可以指定多个被包含文件
• C、
在#include命令中,文件名可以用尖括号或双引号括起来
• D、
一个C程序中,可以使用多个#include文件包含命令
参考答案: B
展开解析
50(1分)、
0
若有说明:int a[10];,则对a数组元素的正确引用是( )。
• A、
a[10]
• B、
a[3.5]
• C、
a(5)
• D、
a[10-10]
参考答案: D
展开解析
51(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3;5
• D、
35
参考答案: C
展开解析
52(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
25
• B、
20
• C、
24
• D、
30
参考答案: B
展开解析
53(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=4;i;i--)
for (j=0;j<5;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
54(1分)、
0
C语言中while 和do-while 循环的主要区别是( )。
• A、
do-while 的循环体不能是复合语句
• B、
while 的循环控制条件比do-while 的循环控制条件严格
• C、
do-while 允许从外部转到循环体内
• D、
do-while的循环体至少无条件执行一次
参考答案: D
展开解析
55(1分)、
0
若函数调用时参数为基本数据类型的变量,以下叙述正确的是( )。
• A、
实参与其对应的形参共占存储单元
• B、
只有当实参与其对应的形参同名时才共占存储单元
• C、
实参与对应的形参分别占用不同的存储单元
• D、
实参将数据传递给形参后,立即释放原先占用的存储单元
参考答案: C
展开解析
56(1分)、
0
以下不能对二维数组a 进行正确初始化的语句是( )。
• 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};
参考答案: C
展开解析
57(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1,2<cr>
A,B,C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%d,y=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%d,%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d,%d,%c,%c,%c,%c,%c,%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d,%d,%c,%c,%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
58(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
59(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
60(1分)、
0
在一个C程序中,( )。
• A、
main函数必须出现在所有函数之前
• B、
main函数可以在任何地方出现
• C、
main函数必须出现在所有函数之后
• D、
main函数必须出现在固定位置
参考答案: B
展开解析
61(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
main()
{
struct date
{ int year,month,day;
}today;
printf("%d\n",sizeof(today));
}
• A、
6
• B、
8
• C、
10
• D、
12
参考答案: D
展开解析
62(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
211
• C、
011
• D、
001
参考答案: B
展开解析
63(1分)、
0
以下叙述正确的是()
• A、
计算机不仅能执行机器语言程序,也可以直接执行其它高级语言编写的程序。
• B、
汇编语言是一种面向机器的低级语言,所以计算机可以直接执行用汇编语言编写的源程序。
• C、
高级语言是与自然语言或数学语言相近的计算机语言,用高级语言编写的源程序计算机都不能直接执行。
• D、
用高级语言编写的源程序只能经过解释程序边解释边执行。
参考答案: C
展开解析
64(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
65(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
66(1分)、
0
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
• A、
整型常量
• B、
整型表达式
• C、
整型常量、变量或表达式
• D、
任何类型的表达式
参考答案: C
展开解析
67(1分)、
0
若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
• A、
int 型
• B、
float 型
• C、
double 型
• D、
由系统当时的情况而定
参考答案: A
展开解析
68(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
35
• B、
34
• C、
4
• D、
3
参考答案: C
展开解析
69(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是( )。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
70(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
71(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: A
展开解析
72(1分)、
0
若用数组名作为函数调用的实参,则传递给形参的是( )。
• A、
数组的首地址
• B、
数组的第一个元素的值
• C、
数组中全部元素的值
• D、
数组元素的个数
参考答案: A
展开解析
73(1分)、
0
若A是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 。
• A、
1
• B、
0
• C、
2
• D、
不知道a的值,不能确定
参考答案: A
展开解析
74(1分)、
0
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是( )。
• A、
float
• B、
long
• C、
int
• D、
double
参考答案: C
展开解析
75(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是 。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
76(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?a:b;k=(b<c)?b:c;
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: A
展开解析
77(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
30
• B、
25
• C、
24
• D、
20
参考答案: D
展开解析
78(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
79(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: C
展开解析
80(1分)、
0
如果一个函数位于C程序中定义的第一个函数,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( )。
• A、
为全局变量,在本程序文件范围内有效
• B、
为局部变量,只在该函数内有效
• C、
为局部变量,只在该复合语句中有效
• D、
定义无效,为非法变量
参考答案: C
展开解析
资料来源:谋学网(www.mouxue.com)
81(1分)、
0
可以先声明结构体类型,再定义该类型的变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
82(1分)、
0
在调用一个函数的过程中允许间接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
83(1分)、
0
(++p)->num的计算过程是先使p自加1,然后得到p指向的元素中的num成员值。
• A、正确
• B、错误
参考答案: 正确
展开解析
84(1分)、
0
如a为数组名,则可采用*(a+i)的方法引用数组元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
85(1分)、
0
可以在声明类型的同时定义变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
86(1分)、
0
地址指向变量单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
87(1分)、
0
指针已指向一个数组元素时,可以执行p+1。
• A、正确
• B、错误
参考答案: 正确
展开解析
88(1分)、
0
存储单元的地址和存储单元的内容是相同的概念。
• A、正确
• B、错误
参考答案: 错误
展开解析
89(1分)、
0
可以引用结构体变量中成员的值,引用方式为结构体变量名.成员名
• A、正确
• B、错误
参考答案: 正确
展开解析
90(1分)、
0
一个变量的指针的含义包括两个方面,一是以存储单元编号表示的纯地址,一是它指向的存储单元的数据类型。
• A、正确
• B、错误
参考答案: 正确
展开解析
91(1分)、
0
在调用一个函数的过程中允许直接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
92(1分)、
0
数组元素的作用与变量相当,一般来说,凡是变量可以出现的地方都可以用数组元素代替。
• A、正确
• B、错误
参考答案: 正确
展开解析
93(1分)、
0
可以嵌套调用函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
94(1分)、
0
可以不指定类型名而直接定义结构体类型变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
95(1分)、
0
如果p是一个指向struct Student类型对象的指针变量,那么执行p++时,p的增量是结构体struct Student的长度。
• A、正确
• B、错误
参考答案: 正确
展开解析
96(1分)、
0
指针已指向一个数组元素时,可以执行p++,++p。
• A、正确
• B、错误
参考答案: 正确
展开解析
97(1分)、
0
结构体类型不占存储单元,但结构体类型变量占存储单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
98(1分)、
0
C语言的特点之一就在于允许函数的递归调用。
• A、正确
• B、错误
参考答案: 正确
展开解析
99(1分)、
0
以变量名作为函数参数时,要求形参的类型是变量名;以数组名作为函数参数时,要求形参的类型是数组名或指针变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
100(1分)、
0
对结构体变量的成员可以像普通变量一样进行各种运算
• A、正确
• B、错误
参考答案: 正确
展开解析
• <返回
• 2023年秋季作业
•
单选题 资料来源:谋学网(www.mouxue.com)
得分:0分
正确 错误 未批阅
单选题(80题 共80分)
0 80 得分0分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
资料来源:谋学网(www.mouxue.com)(20题 共20分)
0 20 得分0分
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
已完成批阅重做
单选题
1(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
集合型
• B、
双精度型
• C、
复数型
• D、
布尔型
参考答案: A
展开解析
2(1分)、
0
以下叙述中,不正确的是( )。
• A、
在同一C程序文件中,不同函数中可以使用同名变量
• B、
在main函数体内定义的变量是全局变量
• C、
形参是局部变量,函数调用完成即失去意义
• D、
若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
参考答案: B
展开解析
3(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
4(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: B
展开解析
5(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
6(1分)、
0
C语言中while 和do-while 循环的主要区别是( )。
• A、
do-while 的循环体不能是复合语句
• B、
while 的循环控制条件比do-while 的循环控制条件严格
• C、
do-while 允许从外部转到循环体内
• D、
do-while的循环体至少无条件执行一次
参考答案: D
展开解析
7(1分)、
0
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )
• A、
a=a++,i++;
• B、
i=(a+k)<=(i+k);
• C、
i=A%11;
• D、
i=!a;
参考答案: C
展开解析
8(1分)、
0
以下关于函数的叙述中正确的是( )。
• A、
C语言程序将从源程序中第一个函数开始执行
• B、
可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
• C、
C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
• D、
main可作为用户标识符,用以定义任意一个函数
参考答案: C
展开解析
9(1分)、
0
若有说明:int a[10];,则对a数组元素的正确引用是( )。
• A、
a[10]
• B、
a[3.5]
• C、
a(5)
• D、
a[10-10]
参考答案: D
展开解析
10(1分)、
0
以下不正确的叙述是( )。
• A、
一个#include命令只能指定一个被包含文件
• B、
一个#include命令可以指定多个被包含文件
• C、
在#include命令中,文件名可以用尖括号或双引号括起来
• D、
一个C程序中,可以使用多个#include文件包含命令
参考答案: B
展开解析
11(1分)、
0
以下能对二维数组a 进行正确初始化的语句是( )。
• A、
int a[2][]={{1,0,1},{5,2,3}};
• B、
int a[][3]={{1,2,3},{4,5,6}};
• C、
int a[2][4]={{1,2,3},{4,5},{6}};
• D、
int a[][3]={{1,0,1},{},{1,1}};
参考答案: B
展开解析
12(1分)、
0
有如下程序
int func(int a,int b)
{ return(a+b); }
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是( )。
• A、
12
• B、
13
• C、
14
• D、
15
参考答案: D
展开解析
13(1分)、
0
已知if (x>y||x<z&&y>z);z=x; x=y; y=z;int x=30,y=50,z=80;语句执行后变量x、y、z的值分别为: 。
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: C
展开解析
14(1分)、
0
两次运行下面的程序,如果从键盘上分别输入1和10,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
1和2
• B、
10和11
• C、
1和10
• D、
2和11
参考答案: D
展开解析
15(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• B、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• C、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: C
展开解析
16(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
17(1分)、
0
在C语言程序中( )。
• A、
main函数必须放在程序最前头
• B、
main函数必须放在程序最后
• C、
main函数必须放在所有函数之前
• D、
main函数可以放在程序任何允许放置函数的位置
参考答案: D
展开解析
18(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: B
展开解析
19(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
20(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
21(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: A
展开解析
22(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
1 7 0
• C、
3 7 0
• D、
5 5 0
参考答案: B
展开解析
23(1分)、
0
若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
• A、
int 型
• B、
float 型
• C、
double 型
• D、
由系统当时的情况而定
参考答案: A
展开解析
24(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
211
• C、
011
• D、
001
参考答案: B
展开解析
25(1分)、
0
以下不能输出字符A的语句是()(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
• A、
printf(“%c\n”,’A’-32)
• B、
printf(“%d\n”,’A’);
• C、
printf(“%c\n”,65);
• D、
printf(“%c\n”,’B’-1);
参考答案: B
展开解析
26(1分)、
0
以下C语言源程序的书写格式不正确的是( )。
• A、
正确的函数首部,其后必须加上分号
• B、
分号是语句的一部分
• C、
一行上可以书写多条语句
• D、
一个语句可以写在多行之上
参考答案: A
展开解析
27(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
实型
• B、
浮点型
• C、
空类型
• D、
关系型
参考答案: C
展开解析
28(1分)、
0
一个完整的C源程序是( )。
• A、
要由一个主函数或一个以上的非主函数构成
• B、
由一个且仅由一个主函数和零个以上的非主函数构成
• C、
要由一个主函数和一个以上的非主函数构成
• D、
由一个且只有一个主函数或多个非主函数构成
参考答案: B
展开解析
29(1分)、
0
以下不能对二维数组a 进行正确初始化的语句是( )。
• 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};
参考答案: C
展开解析
30(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
31(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
32(1分)、
0
以下对一维整型数组a 的正确说明是( )。
• A、
int a(10);
• B、
int n=10,a[n];
• C、
int n; scanf("%d",&n); int a[n];
• D、
int a[3*5+2];
参考答案: D
展开解析
33(1分)、
0
两次运行下面的程序,如果从键盘上分别输入4和6,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
34(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: A
展开解析
35(1分)、
0
若程序中定义函数
float myadd(float a, float b)
{ return a+b;}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是( )。
• A、
float myadd( float a,b);
• B、
float myadd(float b, float a);
• C、
float myadd(float, float);
• D、
float myadd(float a, float b);
参考答案: A
展开解析
36(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: D
展开解析
37(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
25
• B、
20
• C、
24
• D、
30
参考答案: B
展开解析
38(1分)、
0
以下哪一个可以作为正确的变量名( )。
• A、
for
• B、
$abc
• C、
3*x
• D、
_file
参考答案: D
展开解析
39(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
40(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?a:b;k=(b<c)?b:c;
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: C
展开解析
41(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: C
展开解析
42(1分)、
0
在C语言中,数字018是一个( )。
• A、
十进制数
• B、
八进制数
• C、
十六进制数
• D、
非法数
参考答案: D
展开解析
43(1分)、
0
在一个C程序中,( )。
• A、
main函数必须出现在所有函数之前
• B、
main函数可以在任何地方出现
• C、
main函数必须出现在所有函数之后
• D、
main函数必须出现在固定位置
参考答案: B
展开解析
44(1分)、
0
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
• A、
整型常量
• B、
整型表达式
• C、
整型常量、变量或表达式
• D、
任何类型的表达式
参考答案: C
展开解析
45(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
30
• B、
25
• C、
24
• D、
20
参考答案: D
展开解析
46(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d#%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3#5
• D、
35
参考答案: C
展开解析
47(1分)、
0
以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是 。
• A、
switch(a)
{ case1:a=b; break;
default:a++;
}
• B、
switch(a==1)
{ case 0:a=b; break;
case 1:a++;
}
• C、
switch(a)
{ default:a++;break;
case1:a=b;
}
• D、
switch(a==1)
{ case 1:a=b;break;
case 0:a++;
}
参考答案: B
展开解析
48(1分)、
0
若用数组名作为函数调用的实参,则传递给形参的是( )。
• A、
数组的首地址
• B、
数组的第一个元素的值
• C、
数组中全部元素的值
• D、
数组元素的个数
参考答案: A
展开解析
49(1分)、
0
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
该程序可以输出所有的( )。
• A、
素数
• B、
奇数
• C、
偶数
• D、
水仙花数
参考答案: D
展开解析
50(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3;5
• D、
35
参考答案: C
展开解析
51(1分)、
0
定义一个void型函数意味着调用该函数时,函数( )。
• A、
通过return返回一个用户所希望的函数值
• B、
返回一个系统默认值
• C、
没有返回值
• D、
返回一个不确定的值
参考答案: C
展开解析
52(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=4;i;i--)
for (j=0;j<5;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
53(1分)、
0
合法的数组说明语句是( )。
• A、
int a[ ]="string";
• B、
int a[5]={0,1,2,3,4,5};
• C、
char a ="string";
• D、
int a[ ]={0,1,2,3,4,5};
参考答案: D
展开解析
54(1分)、
0
若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
• A、
0和1
• B、
0和20
• C、
10和1
• D、
10和20
参考答案: B
展开解析
55(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
56(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
57(1分)、
0
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是( )。
• A、
float
• B、
long
• C、
int
• D、
double
参考答案: C
展开解析
58(1分)、
0
以下关于函数的叙述中不正确的是( )。
• A、
C程序是函数的集合,包括标准库函数和用户自定义函数
• B、
在C语言程序中,被调用的函数必须在main函数中定义
• C、
在C语言程序中,函数的定义不能嵌套
• D、
在C语言程序中,函数的调用可以嵌套
参考答案: B
展开解析
59(1分)、
0
若A是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 。
• A、
1
• B、
0
• C、
2
• D、
不知道a的值,不能确定
参考答案: A
展开解析
60(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
35
• B、
34
• C、
4
• D、
3
参考答案: C
展开解析
61(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=80, y=30, z=50
• C、
x=30, y=50, z=80
• D、
x=50, y=30, z=30
参考答案: D
展开解析
62(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1,2<cr>
A,B,C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%d,y=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%d,%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d,%d,%c,%c,%c,%c,%c,%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d,%d,%c,%c,%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
63(1分)、
0
以下关于函数叙述中,错误的是( )。
• A、
函数未被调用时,系统将不为形参分配内存单元
• B、
实参与形参的个数应相等,且实参与形参的类型必须对应一致
• C、
当形参是变量时,实参可以是常量、变量或表达式
• D、
形参可以是常量、变量或表达式
参考答案: D
展开解析
64(1分)、
0
有两个字符数组a,b,则以下正确的输入语句是( )。
• A、
gets(a,b);
• B、
scanf("%s%s",a,b);
• C、
scanf("%s%s",&a,&b);
• D、
gets("a"),gets("b");
参考答案: B
展开解析
65(1分)、
0
若有说明:int a[3][4]={0};则下面正确的叙述是( )。
• A、
只有元素a[0][0]可得到初值0
• B、
此说明语句不正确
• C、
数组a 中各元素都可得到初值,但其值不一定为0
• D、
数组a 中每个元素均可得到初值0
参考答案: D
展开解析
66(1分)、
0
如果一个函数位于C程序中定义的第一个函数,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( )。
• A、
为全局变量,在本程序文件范围内有效
• B、
为局部变量,只在该函数内有效
• C、
为局部变量,只在该复合语句中有效
• D、
定义无效,为非法变量
参考答案: C
展开解析
67(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
void main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
• A、
7
• B、
8
• C、
9
• D、
10
参考答案: B
展开解析
68(1分)、
0
以下程序运行的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/32>0?p/10:p%3)); }
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: D
展开解析
69(1分)、
0
有以下程序
#include <stdio.h>
main()
{ int a;
scanf("%d" ,&a);
if(a++<9) printf("%d\n",a);
else printf("%d\n",a);
}
程序运行时从键盘输入9<回车>,则输出的结果是 。
• A、
10
• B、
11
• C、
9
• D、
8
参考答案: A
展开解析
70(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
71(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
72(1分)、
0
若函数调用时参数为基本数据类型的变量,以下叙述正确的是( )。
• A、
实参与其对应的形参共占存储单元
• B、
只有当实参与其对应的形参同名时才共占存储单元
• C、
实参与对应的形参分别占用不同的存储单元
• D、
实参将数据传递给形参后,立即释放原先占用的存储单元
参考答案: C
展开解析
73(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
74(1分)、
0
以下哪一个不是正确的C语言常量( )。
• A、
0x2ac
• B、
3.25e-8
• C、
800
• D、
0486
参考答案: D
展开解析
75(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
76(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
3 7 0
• C、
5 5 0
• D、
1 7 0
参考答案: D
展开解析
77(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
78(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
main()
{
struct date
{ int year,month,day;
}today;
printf("%d\n",sizeof(today));
}
• A、
6
• B、
8
• C、
10
• D、
12
参考答案: D
展开解析
79(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: C
展开解析
80(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?a:b;k=(b<c)?b:c;
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: A
展开解析
资料来源:谋学网(www.mouxue.com)
81(1分)、
0
以变量名作为函数参数时,传递的信息是变量的值;以数组名作为函数参数时,传递的信息是实参数组首元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
82(1分)、
0
引用数组元素可以用下标法,也可以用指针法。
• A、正确
• B、错误
参考答案: 正确
展开解析
83(1分)、
0
一个变量的指针的含义包括两个方面,一是以存储单元编号表示的纯地址,一是它指向的存储单元的数据类型。
• A、正确
• B、错误
参考答案: 正确
展开解析
84(1分)、
0
以变量名作为函数参数时,不能改变实参变量的值;以数组名作为函数参数时,可以改变实参数组的值。
• A、正确
• B、错误
参考答案: 正确
展开解析
85(1分)、
0
存储单元的地址和存储单元的内容是相同的概念。
• A、正确
• B、错误
参考答案: 错误
展开解析
86(1分)、
0
如p是指针变量,a为数组名,p=a,则可采用*(p+i)的方法引用数组元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
87(1分)、
0
指针已指向一个数组元素时,可以执行p--,--p。
• A、正确
• B、错误
参考答案: 正确
展开解析
88(1分)、
0
指针类型的数据可以作为函数参数。
• A、正确
• B、错误
参考答案: 正确
展开解析
89(1分)、
0
C语言中没有字符串类型,也没有字符串变量,字符串是存放在字符型数组中的。
• A、正确
• B、错误
参考答案: 正确
展开解析
90(1分)、
0
计算机程序设计语言分为机器语言、汇编语言、高级语言和自然语言。
• A、正确
• B、错误
参考答案: 错误
展开解析
91(1分)、
0
(++p)->num的计算过程是先使p自加1,然后得到p指向的元素中的num成员值。
• A、正确
• B、错误
参考答案: 正确
展开解析
92(1分)、
0
以变量名作为函数参数时,实参类型是变量名;以数组名作为函数参数时,实参类型是数组名。
• A、正确
• B、错误
参考答案: 正确
展开解析
93(1分)、
0
(p++)->num的计算过程是先求得p->num的值,然后再使p自加1。
• A、正确
• B、错误
参考答案: 正确
展开解析
94(1分)、
0
地址指向变量单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
95(1分)、
0
在调用一个函数的过程中允许间接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
96(1分)、
0
struct Person leader[3]={};中,{}内应填写初值列表。
• A、正确
• B、错误
参考答案: 正确
展开解析
97(1分)、
0
不能嵌套定义函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
98(1分)、
0
只有同类型的结构体变量才能互相赋值。
• A、正确
• B、错误
参考答案: 正确
展开解析
99(1分)、
0
可以引用结构体变量成员的地址,也可以引用结构体变量的地址
• A、正确
• B、错误
参考答案: 正确
展开解析
100(1分)、
0
定义函数时,一个函数内不能再定义另一个函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
• <返回
• 2023年秋季作业
•
单选题 资料来源:谋学网(www.mouxue.com)
得分:0分
正确 错误 未批阅
单选题(80题 共80分)
0 80 得分0分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
资料来源:谋学网(www.mouxue.com)(20题 共20分)
0 20 得分0分
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
已完成批阅重做
单选题
1(1分)、
0
已知if (x>y||x<z&&y>z);z=x; x=y; y=z;int x=30,y=50,z=80;语句执行后变量x、y、z的值分别为: 。
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: C
展开解析
2(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: A
展开解析
3(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
main()
{
struct date
{ int year,month,day;
}today;
printf("%d\n",sizeof(today));
}
• A、
6
• B、
8
• C、
10
• D、
12
参考答案: D
展开解析
4(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
211
• C、
011
• D、
001
参考答案: B
展开解析
5(1分)、
0
有两个字符数组a,b,则以下正确的输入语句是( )。
• A、
gets(a,b);
• B、
scanf("%s%s",a,b);
• C、
scanf("%s%s",&a,&b);
• D、
gets("a"),gets("b");
参考答案: B
展开解析
6(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
7(1分)、
0
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是( )。
• A、
float
• B、
long
• C、
int
• D、
double
参考答案: C
展开解析
8(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
1 7 0
• C、
3 7 0
• D、
5 5 0
参考答案: B
展开解析
9(1分)、
0
定义一个void型函数意味着调用该函数时,函数( )。
• A、
通过return返回一个用户所希望的函数值
• B、
返回一个系统默认值
• C、
没有返回值
• D、
返回一个不确定的值
参考答案: C
展开解析
10(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是( )。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
11(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
12(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
13(1分)、
0
有如下程序
int func(int a,int b)
{ return(a+b); }
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是( )。
• A、
12
• B、
13
• C、
14
• D、
15
参考答案: D
展开解析
14(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
15(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
16(1分)、
0
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
该程序可以输出所有的( )。
• A、
素数
• B、
奇数
• C、
偶数
• D、
水仙花数
参考答案: D
展开解析
17(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
18(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
19(1分)、
0
若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
• A、
0和1
• B、
0和20
• C、
10和1
• D、
10和20
参考答案: B
展开解析
20(1分)、
0
合法的数组说明语句是( )。
• A、
int a[ ]="string";
• B、
int a[5]={0,1,2,3,4,5};
• C、
char a ="string";
• D、
int a[ ]={0,1,2,3,4,5};
参考答案: D
展开解析
21(1分)、
0
以下关于函数的叙述中不正确的是( )。
• A、
C程序是函数的集合,包括标准库函数和用户自定义函数
• B、
在C语言程序中,被调用的函数必须在main函数中定义
• C、
在C语言程序中,函数的定义不能嵌套
• D、
在C语言程序中,函数的调用可以嵌套
参考答案: B
展开解析
22(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
23(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
void main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
• A、
7
• B、
8
• C、
9
• D、
10
参考答案: B
展开解析
24(1分)、
0
以下不能对二维数组a 进行正确初始化的语句是( )。
• 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};
参考答案: C
展开解析
25(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: A
展开解析
26(1分)、
0
以下哪一个可以作为正确的变量名( )。
• A、
for
• B、
$abc
• C、
3*x
• D、
_file
参考答案: D
展开解析
27(1分)、
0
在C语言程序中( )。
• A、
main函数必须放在程序最前头
• B、
main函数必须放在程序最后
• C、
main函数必须放在所有函数之前
• D、
main函数可以放在程序任何允许放置函数的位置
参考答案: D
展开解析
28(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?a:b;k=(b<c)?b:c;
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: A
展开解析
29(1分)、
0
以下程序运行的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/32>0?p/10:p%3)); }
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: D
展开解析
30(1分)、
0
若用数组名作为函数调用的实参,则传递给形参的是( )。
• A、
数组的首地址
• B、
数组的第一个元素的值
• C、
数组中全部元素的值
• D、
数组元素的个数
参考答案: A
展开解析
31(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
32(1分)、
0
以下能对二维数组a 进行正确初始化的语句是( )。
• A、
int a[2][]={{1,0,1},{5,2,3}};
• B、
int a[][3]={{1,2,3},{4,5,6}};
• C、
int a[2][4]={{1,2,3},{4,5},{6}};
• D、
int a[][3]={{1,0,1},{},{1,1}};
参考答案: B
展开解析
33(1分)、
0
如果一个函数位于C程序中定义的第一个函数,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( )。
• A、
为全局变量,在本程序文件范围内有效
• B、
为局部变量,只在该函数内有效
• C、
为局部变量,只在该复合语句中有效
• D、
定义无效,为非法变量
参考答案: C
展开解析
34(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
30
• B、
25
• C、
24
• D、
20
参考答案: D
展开解析
35(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: D
展开解析
36(1分)、
0
一个完整的C源程序是( )。
• A、
要由一个主函数或一个以上的非主函数构成
• B、
由一个且仅由一个主函数和零个以上的非主函数构成
• C、
要由一个主函数和一个以上的非主函数构成
• D、
由一个且只有一个主函数或多个非主函数构成
参考答案: B
展开解析
37(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1,2<cr>
A,B,C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%d,y=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%d,%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d,%d,%c,%c,%c,%c,%c,%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d,%d,%c,%c,%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
38(1分)、
0
在C语言中,数字018是一个( )。
• A、
十进制数
• B、
八进制数
• C、
十六进制数
• D、
非法数
参考答案: D
展开解析
39(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
实型
• B、
浮点型
• C、
空类型
• D、
关系型
参考答案: C
展开解析
40(1分)、
0
以下不正确的叙述是( )。
• A、
一个#include命令只能指定一个被包含文件
• B、
一个#include命令可以指定多个被包含文件
• C、
在#include命令中,文件名可以用尖括号或双引号括起来
• D、
一个C程序中,可以使用多个#include文件包含命令
参考答案: B
展开解析
41(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=4;i;i--)
for (j=0;j<5;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
42(1分)、
0
以下关于函数叙述中,错误的是( )。
• A、
函数未被调用时,系统将不为形参分配内存单元
• B、
实参与形参的个数应相等,且实参与形参的类型必须对应一致
• C、
当形参是变量时,实参可以是常量、变量或表达式
• D、
形参可以是常量、变量或表达式
参考答案: D
展开解析
43(1分)、
0
若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
• A、
int 型
• B、
float 型
• C、
double 型
• D、
由系统当时的情况而定
参考答案: A
展开解析
44(1分)、
0
以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 。
• A、
switch(a) {case 1:a=b;break; default:a++; }
• B、
switch(a==1) {case 0:a=b;break;case 1:a++; }
• C、
switch(a) {default:a++;break;case 1:a=b;}
• D、
switch(a==1) {case 1:a=b;break; case 0:a++;}
参考答案: B
展开解析
45(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
35
• B、
34
• C、
4
• D、
3
参考答案: C
展开解析
46(1分)、
0
若A是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 。
• A、
1
• B、
0
• C、
2
• D、
不知道a的值,不能确定
参考答案: A
展开解析
47(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: B
展开解析
48(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
49(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
集合型
• B、
双精度型
• C、
复数型
• D、
布尔型
参考答案: A
展开解析
50(1分)、
0
以下C语言源程序的书写格式不正确的是( )。
• A、
正确的函数首部,其后必须加上分号
• B、
分号是语句的一部分
• C、
一行上可以书写多条语句
• D、
一个语句可以写在多行之上
参考答案: A
展开解析
51(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
52(1分)、
0
以下叙述中,不正确的是( )。
• A、
在同一C程序文件中,不同函数中可以使用同名变量
• B、
在main函数体内定义的变量是全局变量
• C、
形参是局部变量,函数调用完成即失去意义
• D、
若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
参考答案: B
展开解析
53(1分)、
0
以下关于函数的叙述中正确的是( )。
• A、
C语言程序将从源程序中第一个函数开始执行
• B、
可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
• C、
C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
• D、
main可作为用户标识符,用以定义任意一个函数
参考答案: C
展开解析
54(1分)、
0
若程序中定义函数
float myadd(float a, float b)
{ return a+b;}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是( )。
• A、
float myadd( float a,b);
• B、
float myadd(float b, float a);
• C、
float myadd(float, float);
• D、
float myadd(float a, float b);
参考答案: A
展开解析
55(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
56(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• B、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• C、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: C
展开解析
57(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是 。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
58(1分)、
0
以下不能输出字符A的语句是()(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
• A、
printf(“%c\n”,’A’-32)
• B、
printf(“%d\n”,’A’);
• C、
printf(“%c\n”,65);
• D、
printf(“%c\n”,’B’-1);
参考答案: B
展开解析
59(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: C
展开解析
60(1分)、
0
若有说明:int a[10];,则对a数组元素的正确引用是( )。
• A、
a[10]
• B、
a[3.5]
• C、
a(5)
• D、
a[10-10]
参考答案: D
展开解析
61(1分)、
0
struct student
{long int num;
char name[20];
char sex;
char addr[20];
}______。
以下能够正确定义的是
• A、
a={"Li Lin",10101,'M',"123 Beijing Road"};
• B、
a={10101,"Li Lin","123 Beijing Road",'M'};
• C、
a={10101,"Li Lin",'M',"123 Beijing Road"};
• D、
a={"123 Beijing Road","Li Lin",'M',10101};
参考答案: C
展开解析
62(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
25
• B、
20
• C、
24
• D、
30
参考答案: B
展开解析
63(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?a:b;k=(b<c)?b:c;
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: C
展开解析
64(1分)、
0
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )
• A、
a=a++,i++;
• B、
i=(a+k)<=(i+k);
• C、
i=A%11;
• D、
i=!a;
参考答案: C
展开解析
65(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: B
展开解析
66(1分)、
0
若函数调用时参数为基本数据类型的变量,以下叙述正确的是( )。
• A、
实参与其对应的形参共占存储单元
• B、
只有当实参与其对应的形参同名时才共占存储单元
• C、
实参与对应的形参分别占用不同的存储单元
• D、
实参将数据传递给形参后,立即释放原先占用的存储单元
参考答案: C
展开解析
67(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
68(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
69(1分)、
0
以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是 。
• A、
switch(a)
{ case1:a=b; break;
default:a++;
}
• B、
switch(a==1)
{ case 0:a=b; break;
case 1:a++;
}
• C、
switch(a)
{ default:a++;break;
case1:a=b;
}
• D、
switch(a==1)
{ case 1:a=b;break;
case 0:a++;
}
参考答案: B
展开解析
70(1分)、
0
两次运行下面的程序,如果从键盘上分别输入4和6,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
71(1分)、
0
C语言中while 和do-while 循环的主要区别是( )。
• A、
do-while 的循环体不能是复合语句
• B、
while 的循环控制条件比do-while 的循环控制条件严格
• C、
do-while 允许从外部转到循环体内
• D、
do-while的循环体至少无条件执行一次
参考答案: D
展开解析
72(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
73(1分)、
0
以下哪一个不是正确的C语言常量( )。
• A、
0x2ac
• B、
3.25e-8
• C、
800
• D、
0486
参考答案: D
展开解析
74(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
3 7 0
• C、
5 5 0
• D、
1 7 0
参考答案: D
展开解析
75(1分)、
0
两次运行下面的程序,如果从键盘上分别输入1和10,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
1和2
• B、
10和11
• C、
1和10
• D、
2和11
参考答案: D
展开解析
76(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d#%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3#5
• D、
35
参考答案: C
展开解析
77(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3;5
• D、
35
参考答案: C
展开解析
78(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: C
展开解析
79(1分)、
0
以下叙述正确的是()
• A、
计算机不仅能执行机器语言程序,也可以直接执行其它高级语言编写的程序。
• B、
汇编语言是一种面向机器的低级语言,所以计算机可以直接执行用汇编语言编写的源程序。
• C、
高级语言是与自然语言或数学语言相近的计算机语言,用高级语言编写的源程序计算机都不能直接执行。
• D、
用高级语言编写的源程序只能经过解释程序边解释边执行。
参考答案: C
展开解析
80(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
资料来源:谋学网(www.mouxue.com)
81(1分)、
0
(p++)->num的计算过程是先求得p->num的值,然后再使p自加1。
• A、正确
• B、错误
参考答案: 正确
展开解析
82(1分)、
0
指向整型数据的指针类型表示为“int *”,读作“指向int的指针”或简称“int指针”。
• A、正确
• B、错误
参考答案: 正确
展开解析
83(1分)、
0
如a为数组名,则可采用*(a+i)的方法引用数组元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
84(1分)、
0
结构体数组的每一个数组元素都是一个结构体类型的数据。
• A、正确
• B、错误
参考答案: 正确
展开解析
85(1分)、
0
定义函数时,一个函数内不能再定义另一个函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
86(1分)、
0
数组元素的指针就是数组元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
87(1分)、
0
可以嵌套调用函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
88(1分)、
0
程序中不应出现无终止的递归调用,只应出现有限次数、有终止的递归调用。
• A、正确
• B、错误
参考答案: 正确
展开解析
89(1分)、
0
数组元素的作用与变量相当,一般来说,凡是变量可以出现的地方都可以用数组元素代替。
• A、正确
• B、错误
参考答案: 正确
展开解析
90(1分)、
0
可以在声明类型的同时定义变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
91(1分)、
0
struct Person leader[3]中leader是结构体数组名。
• A、正确
• B、错误
参考答案: 正确
展开解析
92(1分)、
0
可以引用结构体变量中成员的值,引用方式为结构体变量名.成员名
• A、正确
• B、错误
参考答案: 正确
展开解析
93(1分)、
0
在调用一个函数的过程中允许直接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
94(1分)、
0
指向是通过地址来体现的。
• A、正确
• B、错误
参考答案: 正确
展开解析
95(1分)、
0
引用数组元素可以用下标法,也可以用指针法。
• A、正确
• B、错误
参考答案: 正确
展开解析
96(1分)、
0
指针类型的数据可以作为函数参数。
• A、正确
• B、错误
参考答案: 正确
展开解析
97(1分)、
0
如p是指针变量,a为数组名,p=a,则可采用*(p+i)的方法引用数组元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
98(1分)、
0
计算机程序设计语言分为机器语言、汇编语言、高级语言和自然语言。
• A、正确
• B、错误
参考答案: 错误
展开解析
99(1分)、
0
以变量名作为函数参数时,不能改变实参变量的值;以数组名作为函数参数时,可以改变实参数组的值。
• A、正确
• B、错误
参考答案: 正确
展开解析
100(1分)、
0
地址指向变量单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
• <返回
• 2023年秋季作业
•
单选题 资料来源:谋学网(www.mouxue.com)
得分:0分
正确 错误 未批阅
单选题(80题 共80分)
0 80 得分0分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
资料来源:谋学网(www.mouxue.com)(20题 共20分)
0 20 得分0分
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
已完成批阅重做
单选题
1(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
集合型
• B、
双精度型
• C、
复数型
• D、
布尔型
参考答案: A
展开解析
2(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
3 7 0
• C、
5 5 0
• D、
1 7 0
参考答案: D
展开解析
3(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d#%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3#5
• D、
35
参考答案: C
展开解析
4(1分)、
0
有以下程序
#include <stdio.h>
main()
{ int a;
scanf("%d" ,&a);
if(a++<9) printf("%d\n",a);
else printf("%d\n",a);
}
程序运行时从键盘输入9<回车>,则输出的结果是 。
• A、
10
• B、
11
• C、
9
• D、
8
参考答案: A
展开解析
5(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: B
展开解析
6(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
实型
• B、
浮点型
• C、
空类型
• D、
关系型
参考答案: C
展开解析
7(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
35
• B、
34
• C、
4
• D、
3
参考答案: C
展开解析
8(1分)、
0
若函数调用时参数为基本数据类型的变量,以下叙述正确的是( )。
• A、
实参与其对应的形参共占存储单元
• B、
只有当实参与其对应的形参同名时才共占存储单元
• C、
实参与对应的形参分别占用不同的存储单元
• D、
实参将数据传递给形参后,立即释放原先占用的存储单元
参考答案: C
展开解析
9(1分)、
0
以下C语言源程序的书写格式不正确的是( )。
• A、
正确的函数首部,其后必须加上分号
• B、
分号是语句的一部分
• C、
一行上可以书写多条语句
• D、
一个语句可以写在多行之上
参考答案: A
展开解析
10(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
11(1分)、
0
若程序中定义函数
float myadd(float a, float b)
{ return a+b;}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是( )。
• A、
float myadd( float a,b);
• B、
float myadd(float b, float a);
• C、
float myadd(float, float);
• D、
float myadd(float a, float b);
参考答案: A
展开解析
12(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
13(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1 2<cr>
A B C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
14(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
15(1分)、
0
已知if (x>y||x<z&&y>z);z=x; x=y; y=z;int x=30,y=50,z=80;语句执行后变量x、y、z的值分别为: 。
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: C
展开解析
16(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
211
• C、
011
• D、
001
参考答案: B
展开解析
17(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?a:b;k=(b<c)?b:c;
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: C
展开解析
18(1分)、
0
struct student
{long int num;
char name[20];
char sex;
char addr[20];
}______。
以下能够正确定义的是
• A、
a={"Li Lin",10101,'M',"123 Beijing Road"};
• B、
a={10101,"Li Lin","123 Beijing Road",'M'};
• C、
a={10101,"Li Lin",'M',"123 Beijing Road"};
• D、
a={"123 Beijing Road","Li Lin",'M',10101};
参考答案: C
展开解析
19(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
20(1分)、
0
以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 。
• A、
switch(a) {case 1:a=b;break; default:a++; }
• B、
switch(a==1) {case 0:a=b;break;case 1:a++; }
• C、
switch(a) {default:a++;break;case 1:a=b;}
• D、
switch(a==1) {case 1:a=b;break; case 0:a++;}
参考答案: B
展开解析
21(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
30
• B、
25
• C、
24
• D、
20
参考答案: D
展开解析
22(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: C
展开解析
23(1分)、
0
两次运行下面的程序,如果从键盘上分别输入4和6,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
24(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: D
展开解析
25(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
26(1分)、
0
以下关于函数的叙述中不正确的是( )。
• A、
C程序是函数的集合,包括标准库函数和用户自定义函数
• B、
在C语言程序中,被调用的函数必须在main函数中定义
• C、
在C语言程序中,函数的定义不能嵌套
• D、
在C语言程序中,函数的调用可以嵌套
参考答案: B
展开解析
27(1分)、
0
合法的数组说明语句是( )。
• A、
int a[ ]="string";
• B、
int a[5]={0,1,2,3,4,5};
• C、
char a ="string";
• D、
int a[ ]={0,1,2,3,4,5};
参考答案: D
展开解析
28(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
29(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1,2<cr>
A,B,C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%d,y=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%d,%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d,%d,%c,%c,%c,%c,%c,%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d,%d,%c,%c,%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
30(1分)、
0
以下程序运行的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/32>0?p/10:p%3)); }
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: D
展开解析
31(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
32(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3;5
• D、
35
参考答案: C
展开解析
33(1分)、
0
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是( )。
• A、
float
• B、
long
• C、
int
• D、
double
参考答案: C
展开解析
34(1分)、
0
若A是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 。
• A、
1
• B、
0
• C、
2
• D、
不知道a的值,不能确定
参考答案: A
展开解析
35(1分)、
0
若有说明:int a[10];,则对a数组元素的正确引用是( )。
• A、
a[10]
• B、
a[3.5]
• C、
a(5)
• D、
a[10-10]
参考答案: D
展开解析
36(1分)、
0
以下关于函数的叙述中正确的是( )。
• A、
C语言程序将从源程序中第一个函数开始执行
• B、
可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
• C、
C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
• D、
main可作为用户标识符,用以定义任意一个函数
参考答案: C
展开解析
37(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
38(1分)、
0
以下叙述正确的是()
• A、
计算机不仅能执行机器语言程序,也可以直接执行其它高级语言编写的程序。
• B、
汇编语言是一种面向机器的低级语言,所以计算机可以直接执行用汇编语言编写的源程序。
• C、
高级语言是与自然语言或数学语言相近的计算机语言,用高级语言编写的源程序计算机都不能直接执行。
• D、
用高级语言编写的源程序只能经过解释程序边解释边执行。
参考答案: C
展开解析
39(1分)、
0
以下关于函数叙述中,错误的是( )。
• A、
函数未被调用时,系统将不为形参分配内存单元
• B、
实参与形参的个数应相等,且实参与形参的类型必须对应一致
• C、
当形参是变量时,实参可以是常量、变量或表达式
• D、
形参可以是常量、变量或表达式
参考答案: D
展开解析
40(1分)、
0
以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是 。
• A、
switch(a)
{ case1:a=b; break;
default:a++;
}
• B、
switch(a==1)
{ case 0:a=b; break;
case 1:a++;
}
• C、
switch(a)
{ default:a++;break;
case1:a=b;
}
• D、
switch(a==1)
{ case 1:a=b;break;
case 0:a++;
}
参考答案: B
展开解析
41(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
42(1分)、
0
以下哪一个不是正确的C语言常量( )。
• A、
0x2ac
• B、
3.25e-8
• C、
800
• D、
0486
参考答案: D
展开解析
43(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
void main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
• A、
7
• B、
8
• C、
9
• D、
10
参考答案: B
展开解析
44(1分)、
0
以下不能输出字符A的语句是()(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
• A、
printf(“%c\n”,’A’-32)
• B、
printf(“%d\n”,’A’);
• C、
printf(“%c\n”,65);
• D、
printf(“%c\n”,’B’-1);
参考答案: B
展开解析
45(1分)、
0
若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
• A、
0和1
• B、
0和20
• C、
10和1
• D、
10和20
参考答案: B
展开解析
46(1分)、
0
两次运行下面的程序,如果从键盘上分别输入1和10,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
1和2
• B、
10和11
• C、
1和10
• D、
2和11
参考答案: D
展开解析
47(1分)、
0
以下能对二维数组a 进行正确初始化的语句是( )。
• A、
int a[2][]={{1,0,1},{5,2,3}};
• B、
int a[][3]={{1,2,3},{4,5,6}};
• C、
int a[2][4]={{1,2,3},{4,5},{6}};
• D、
int a[][3]={{1,0,1},{},{1,1}};
参考答案: B
展开解析
48(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
49(1分)、
0
C语言中while 和do-while 循环的主要区别是( )。
• A、
do-while 的循环体不能是复合语句
• B、
while 的循环控制条件比do-while 的循环控制条件严格
• C、
do-while 允许从外部转到循环体内
• D、
do-while的循环体至少无条件执行一次
参考答案: D
展开解析
50(1分)、
0
若用数组名作为函数调用的实参,则传递给形参的是( )。
• A、
数组的首地址
• B、
数组的第一个元素的值
• C、
数组中全部元素的值
• D、
数组元素的个数
参考答案: A
展开解析
51(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
52(1分)、
0
以下叙述中,不正确的是( )。
• A、
在同一C程序文件中,不同函数中可以使用同名变量
• B、
在main函数体内定义的变量是全局变量
• C、
形参是局部变量,函数调用完成即失去意义
• D、
若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
参考答案: B
展开解析
53(1分)、
0
有如下程序
int func(int a,int b)
{ return(a+b); }
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是( )。
• A、
12
• B、
13
• C、
14
• D、
15
参考答案: D
展开解析
54(1分)、
0
在C语言中,数字018是一个( )。
• A、
十进制数
• B、
八进制数
• C、
十六进制数
• D、
非法数
参考答案: D
展开解析
55(1分)、
0
若有说明:int a[3][4]={0};则下面正确的叙述是( )。
• A、
只有元素a[0][0]可得到初值0
• B、
此说明语句不正确
• C、
数组a 中各元素都可得到初值,但其值不一定为0
• D、
数组a 中每个元素均可得到初值0
参考答案: D
展开解析
56(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
57(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=80, y=30, z=50
• C、
x=30, y=50, z=80
• D、
x=50, y=30, z=30
参考答案: D
展开解析
58(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是 。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
59(1分)、
0
以下不正确的叙述是( )。
• A、
一个#include命令只能指定一个被包含文件
• B、
一个#include命令可以指定多个被包含文件
• C、
在#include命令中,文件名可以用尖括号或双引号括起来
• D、
一个C程序中,可以使用多个#include文件包含命令
参考答案: B
展开解析
60(1分)、
0
以下不正确的概念是( )。
• A、
一个C程序必须包含一个main函数
• B、
一个C程序可以只有一个语句
• C、
一个C程序可以由一个或多个函数组成
• D、
一个C语言函数可以没有任何可执行语句
参考答案: B
展开解析
61(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是( )。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
62(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: A
展开解析
63(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: C
展开解析
64(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• B、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• C、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: C
展开解析
65(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?a:b;k=(b<c)?b:c;
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: A
展开解析
66(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
1 7 0
• C、
3 7 0
• D、
5 5 0
参考答案: B
展开解析
67(1分)、
0
定义一个void型函数意味着调用该函数时,函数( )。
• A、
通过return返回一个用户所希望的函数值
• B、
返回一个系统默认值
• C、
没有返回值
• D、
返回一个不确定的值
参考答案: C
展开解析
68(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: A
展开解析
69(1分)、
0
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
该程序可以输出所有的( )。
• A、
素数
• B、
奇数
• C、
偶数
• D、
水仙花数
参考答案: D
展开解析
70(1分)、
0
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )
• A、
a=a++,i++;
• B、
i=(a+k)<=(i+k);
• C、
i=A%11;
• D、
i=!a;
参考答案: C
展开解析
71(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: B
展开解析
72(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
73(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
74(1分)、
0
若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
• A、
int 型
• B、
float 型
• C、
double 型
• D、
由系统当时的情况而定
参考答案: A
展开解析
75(1分)、
0
如果一个函数位于C程序中定义的第一个函数,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( )。
• A、
为全局变量,在本程序文件范围内有效
• B、
为局部变量,只在该函数内有效
• C、
为局部变量,只在该复合语句中有效
• D、
定义无效,为非法变量
参考答案: C
展开解析
76(1分)、
0
以下哪一个可以作为正确的变量名( )。
• A、
for
• B、
$abc
• C、
3*x
• D、
_file
参考答案: D
展开解析
77(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=4;i;i--)
for (j=0;j<5;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
78(1分)、
0
以下对一维整型数组a 的正确说明是( )。
• A、
int a(10);
• B、
int n=10,a[n];
• C、
int n; scanf("%d",&n); int a[n];
• D、
int a[3*5+2];
参考答案: D
展开解析
79(1分)、
0
在一个C程序中,( )。
• A、
main函数必须出现在所有函数之前
• B、
main函数可以在任何地方出现
• C、
main函数必须出现在所有函数之后
• D、
main函数必须出现在固定位置
参考答案: B
展开解析
80(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
25
• B、
20
• C、
24
• D、
30
参考答案: B
展开解析
资料来源:谋学网(www.mouxue.com)
81(1分)、
0
结构体数组的每一个数组元素都是一个结构体类型的数据。
• A、正确
• B、错误
参考答案: 正确
展开解析
82(1分)、
0
不能嵌套定义函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
83(1分)、
0
结构体类型不占存储单元,但结构体类型变量占存储单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
84(1分)、
0
存储单元的地址和存储单元的内容是相同的概念。
• A、正确
• B、错误
参考答案: 错误
展开解析
85(1分)、
0
以变量名作为函数参数时,不能改变实参变量的值;以数组名作为函数参数时,可以改变实参数组的值。
• A、正确
• B、错误
参考答案: 正确
展开解析
86(1分)、
0
struct Person leader[3]中leader是结构体数组名。
• A、正确
• B、错误
参考答案: 正确
展开解析
87(1分)、
0
在调用一个函数的过程中,可以又调用另一个函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
88(1分)、
0
结构体数组的每个元素都包含多个成员。
• A、正确
• B、错误
参考答案: 正确
展开解析
89(1分)、
0
调用有参函数时,需要提供实参。
• A、正确
• B、错误
参考答案: 正确
展开解析
90(1分)、
0
在调用一个函数的过程中允许直接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
91(1分)、
0
C语言允许把(*p).num用p_>num来代替( )。
• A、正确
• B、错误
参考答案: 正确
展开解析
92(1分)、
0
struct Person leader[3]={};中,{}内应填写初值列表。
• A、正确
• B、错误
参考答案: 正确
展开解析
93(1分)、
0
指针已指向一个数组元素时,可以执行p-1。
• A、正确
• B、错误
参考答案: 正确
展开解析
94(1分)、
0
在调用一个函数的过程中允许间接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
95(1分)、
0
(p++)->num的计算过程是先求得p->num的值,然后再使p自加1。
• A、正确
• B、错误
参考答案: 正确
展开解析
96(1分)、
0
以变量名作为函数参数时,传递的信息是变量的值;以数组名作为函数参数时,传递的信息是实参数组首元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
97(1分)、
0
程序中不应出现无终止的递归调用,只应出现有限次数、有终止的递归调用。
• A、正确
• B、错误
参考答案: 正确
展开解析
98(1分)、
0
地址指向变量单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
99(1分)、
0
以变量名作为函数参数时,实参类型是变量名;以数组名作为函数参数时,实参类型是数组名。
• A、正确
• B、错误
参考答案: 正确
展开解析
100(1分)、
0
对结构体变量的成员可以像普通变量一样进行各种运算
• A、正确
• B、错误
参考答案: 正确
展开解析
• <返回
• 2023年秋季作业
•
单选题 资料来源:谋学网(www.mouxue.com)
得分:0分
正确 错误 未批阅
单选题(80题 共80分)
0 80 得分0分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
资料来源:谋学网(www.mouxue.com)(20题 共20分)
0 20 得分0分
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
已完成批阅重做
单选题
1(1分)、
0
若有说明:int a[3][4]={0};则下面正确的叙述是( )。
• A、
只有元素a[0][0]可得到初值0
• B、
此说明语句不正确
• C、
数组a 中各元素都可得到初值,但其值不一定为0
• D、
数组a 中每个元素均可得到初值0
参考答案: D
展开解析
2(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: C
展开解析
3(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: A
展开解析
4(1分)、
0
以下哪一个可以作为正确的变量名( )。
• A、
for
• B、
$abc
• C、
3*x
• D、
_file
参考答案: D
展开解析
5(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
6(1分)、
0
在C语言中,数字018是一个( )。
• A、
十进制数
• B、
八进制数
• C、
十六进制数
• D、
非法数
参考答案: D
展开解析
7(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
8(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是 。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
9(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
10(1分)、
0
若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
• A、
int 型
• B、
float 型
• C、
double 型
• D、
由系统当时的情况而定
参考答案: A
展开解析
11(1分)、
0
有如下程序
int func(int a,int b)
{ return(a+b); }
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是( )。
• A、
12
• B、
13
• C、
14
• D、
15
参考答案: D
展开解析
12(1分)、
0
以下能对二维数组a 进行正确初始化的语句是( )。
• A、
int a[2][]={{1,0,1},{5,2,3}};
• B、
int a[][3]={{1,2,3},{4,5,6}};
• C、
int a[2][4]={{1,2,3},{4,5},{6}};
• D、
int a[][3]={{1,0,1},{},{1,1}};
参考答案: B
展开解析
13(1分)、
0
两次运行下面的程序,如果从键盘上分别输入1和10,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
1和2
• B、
10和11
• C、
1和10
• D、
2和11
参考答案: D
展开解析
14(1分)、
0
在一个C程序中,( )。
• A、
main函数必须出现在所有函数之前
• B、
main函数可以在任何地方出现
• C、
main函数必须出现在所有函数之后
• D、
main函数必须出现在固定位置
参考答案: B
展开解析
15(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
16(1分)、
0
定义一个void型函数意味着调用该函数时,函数( )。
• A、
通过return返回一个用户所希望的函数值
• B、
返回一个系统默认值
• C、
没有返回值
• D、
返回一个不确定的值
参考答案: C
展开解析
17(1分)、
0
若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
• A、
0和1
• B、
0和20
• C、
10和1
• D、
10和20
参考答案: B
展开解析
18(1分)、
0
以下关于函数的叙述中不正确的是( )。
• A、
C程序是函数的集合,包括标准库函数和用户自定义函数
• B、
在C语言程序中,被调用的函数必须在main函数中定义
• C、
在C语言程序中,函数的定义不能嵌套
• D、
在C语言程序中,函数的调用可以嵌套
参考答案: B
展开解析
19(1分)、
0
以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 。
• A、
switch(a) {case 1:a=b;break; default:a++; }
• B、
switch(a==1) {case 0:a=b;break;case 1:a++; }
• C、
switch(a) {default:a++;break;case 1:a=b;}
• D、
switch(a==1) {case 1:a=b;break; case 0:a++;}
参考答案: B
展开解析
20(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: A
展开解析
21(1分)、
0
如果一个函数位于C程序中定义的第一个函数,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( )。
• A、
为全局变量,在本程序文件范围内有效
• B、
为局部变量,只在该函数内有效
• C、
为局部变量,只在该复合语句中有效
• D、
定义无效,为非法变量
参考答案: C
展开解析
22(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
23(1分)、
0
已知if (x>y||x<z&&y>z);z=x; x=y; y=z;int x=30,y=50,z=80;语句执行后变量x、y、z的值分别为: 。
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: C
展开解析
24(1分)、
0
若函数调用时参数为基本数据类型的变量,以下叙述正确的是( )。
• A、
实参与其对应的形参共占存储单元
• B、
只有当实参与其对应的形参同名时才共占存储单元
• C、
实参与对应的形参分别占用不同的存储单元
• D、
实参将数据传递给形参后,立即释放原先占用的存储单元
参考答案: C
展开解析
25(1分)、
0
以下关于函数叙述中,错误的是( )。
• A、
函数未被调用时,系统将不为形参分配内存单元
• B、
实参与形参的个数应相等,且实参与形参的类型必须对应一致
• C、
当形参是变量时,实参可以是常量、变量或表达式
• D、
形参可以是常量、变量或表达式
参考答案: D
展开解析
26(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: B
展开解析
27(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
28(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: D
展开解析
29(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: B
展开解析
30(1分)、
0
若A是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 。
• A、
1
• B、
0
• C、
2
• D、
不知道a的值,不能确定
参考答案: A
展开解析
31(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
25
• B、
20
• C、
24
• D、
30
参考答案: B
展开解析
32(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
实型
• B、
浮点型
• C、
空类型
• D、
关系型
参考答案: C
展开解析
33(1分)、
0
以下叙述正确的是()
• A、
计算机不仅能执行机器语言程序,也可以直接执行其它高级语言编写的程序。
• B、
汇编语言是一种面向机器的低级语言,所以计算机可以直接执行用汇编语言编写的源程序。
• C、
高级语言是与自然语言或数学语言相近的计算机语言,用高级语言编写的源程序计算机都不能直接执行。
• D、
用高级语言编写的源程序只能经过解释程序边解释边执行。
参考答案: C
展开解析
34(1分)、
0
有以下程序
#include <stdio.h>
main()
{ int a;
scanf("%d" ,&a);
if(a++<9) printf("%d\n",a);
else printf("%d\n",a);
}
程序运行时从键盘输入9<回车>,则输出的结果是 。
• A、
10
• B、
11
• C、
9
• D、
8
参考答案: A
展开解析
35(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是( )。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
36(1分)、
0
C语言中while 和do-while 循环的主要区别是( )。
• A、
do-while 的循环体不能是复合语句
• B、
while 的循环控制条件比do-while 的循环控制条件严格
• C、
do-while 允许从外部转到循环体内
• D、
do-while的循环体至少无条件执行一次
参考答案: D
展开解析
37(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
38(1分)、
0
一个完整的C源程序是( )。
• A、
要由一个主函数或一个以上的非主函数构成
• B、
由一个且仅由一个主函数和零个以上的非主函数构成
• C、
要由一个主函数和一个以上的非主函数构成
• D、
由一个且只有一个主函数或多个非主函数构成
参考答案: B
展开解析
39(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?a:b;k=(b<c)?b:c;
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: C
展开解析
40(1分)、
0
以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是 。
• A、
switch(a)
{ case1:a=b; break;
default:a++;
}
• B、
switch(a==1)
{ case 0:a=b; break;
case 1:a++;
}
• C、
switch(a)
{ default:a++;break;
case1:a=b;
}
• D、
switch(a==1)
{ case 1:a=b;break;
case 0:a++;
}
参考答案: B
展开解析
41(1分)、
0
两次运行下面的程序,如果从键盘上分别输入4和6,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
42(1分)、
0
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
该程序可以输出所有的( )。
• A、
素数
• B、
奇数
• C、
偶数
• D、
水仙花数
参考答案: D
展开解析
43(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
44(1分)、
0
以下不能对二维数组a 进行正确初始化的语句是( )。
• 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};
参考答案: C
展开解析
45(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
void main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
• A、
7
• B、
8
• C、
9
• D、
10
参考答案: B
展开解析
46(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
47(1分)、
0
合法的数组说明语句是( )。
• A、
int a[ ]="string";
• B、
int a[5]={0,1,2,3,4,5};
• C、
char a ="string";
• D、
int a[ ]={0,1,2,3,4,5};
参考答案: D
展开解析
48(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?a:b;k=(b<c)?b:c;
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: A
展开解析
49(1分)、
0
在C语言程序中( )。
• A、
main函数必须放在程序最前头
• B、
main函数必须放在程序最后
• C、
main函数必须放在所有函数之前
• D、
main函数可以放在程序任何允许放置函数的位置
参考答案: D
展开解析
50(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=80, y=30, z=50
• C、
x=30, y=50, z=80
• D、
x=50, y=30, z=30
参考答案: D
展开解析
51(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
52(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
53(1分)、
0
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
• A、
整型常量
• B、
整型表达式
• C、
整型常量、变量或表达式
• D、
任何类型的表达式
参考答案: C
展开解析
54(1分)、
0
以下对一维整型数组a 的正确说明是( )。
• A、
int a(10);
• B、
int n=10,a[n];
• C、
int n; scanf("%d",&n); int a[n];
• D、
int a[3*5+2];
参考答案: D
展开解析
55(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
56(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
main()
{
struct date
{ int year,month,day;
}today;
printf("%d\n",sizeof(today));
}
• A、
6
• B、
8
• C、
10
• D、
12
参考答案: D
展开解析
57(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
58(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d#%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3#5
• D、
35
参考答案: C
展开解析
59(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: C
展开解析
60(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
1 7 0
• C、
3 7 0
• D、
5 5 0
参考答案: B
展开解析
61(1分)、
0
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是( )。
• A、
float
• B、
long
• C、
int
• D、
double
参考答案: C
展开解析
62(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=4;i;i--)
for (j=0;j<5;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
63(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1,2<cr>
A,B,C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%d,y=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%d,%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d,%d,%c,%c,%c,%c,%c,%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d,%d,%c,%c,%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
64(1分)、
0
以下叙述中,不正确的是( )。
• A、
在同一C程序文件中,不同函数中可以使用同名变量
• B、
在main函数体内定义的变量是全局变量
• C、
形参是局部变量,函数调用完成即失去意义
• D、
若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
参考答案: B
展开解析
65(1分)、
0
若用数组名作为函数调用的实参,则传递给形参的是( )。
• A、
数组的首地址
• B、
数组的第一个元素的值
• C、
数组中全部元素的值
• D、
数组元素的个数
参考答案: A
展开解析
66(1分)、
0
以下程序运行的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/32>0?p/10:p%3)); }
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: D
展开解析
67(1分)、
0
以下不正确的概念是( )。
• A、
一个C程序必须包含一个main函数
• B、
一个C程序可以只有一个语句
• C、
一个C程序可以由一个或多个函数组成
• D、
一个C语言函数可以没有任何可执行语句
参考答案: B
展开解析
68(1分)、
0
若程序中定义函数
float myadd(float a, float b)
{ return a+b;}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是( )。
• A、
float myadd( float a,b);
• B、
float myadd(float b, float a);
• C、
float myadd(float, float);
• D、
float myadd(float a, float b);
参考答案: A
展开解析
69(1分)、
0
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )
• A、
a=a++,i++;
• B、
i=(a+k)<=(i+k);
• C、
i=A%11;
• D、
i=!a;
参考答案: C
展开解析
70(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
71(1分)、
0
有两个字符数组a,b,则以下正确的输入语句是( )。
• A、
gets(a,b);
• B、
scanf("%s%s",a,b);
• C、
scanf("%s%s",&a,&b);
• D、
gets("a"),gets("b");
参考答案: B
展开解析
72(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
73(1分)、
0
以下不能输出字符A的语句是()(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
• A、
printf(“%c\n”,’A’-32)
• B、
printf(“%d\n”,’A’);
• C、
printf(“%c\n”,65);
• D、
printf(“%c\n”,’B’-1);
参考答案: B
展开解析
74(1分)、
0
struct student
{long int num;
char name[20];
char sex;
char addr[20];
}______。
以下能够正确定义的是
• A、
a={"Li Lin",10101,'M',"123 Beijing Road"};
• B、
a={10101,"Li Lin","123 Beijing Road",'M'};
• C、
a={10101,"Li Lin",'M',"123 Beijing Road"};
• D、
a={"123 Beijing Road","Li Lin",'M',10101};
参考答案: C
展开解析
75(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1 2<cr>
A B C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
76(1分)、
0
以下C语言源程序的书写格式不正确的是( )。
• A、
正确的函数首部,其后必须加上分号
• B、
分号是语句的一部分
• C、
一行上可以书写多条语句
• D、
一个语句可以写在多行之上
参考答案: A
展开解析
77(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
78(1分)、
0
以下哪一个不是正确的C语言常量( )。
• A、
0x2ac
• B、
3.25e-8
• C、
800
• D、
0486
参考答案: D
展开解析
79(1分)、
0
若有说明:int a[10];,则对a数组元素的正确引用是( )。
• A、
a[10]
• B、
a[3.5]
• C、
a(5)
• D、
a[10-10]
参考答案: D
展开解析
80(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3;5
• D、
35
参考答案: C
展开解析
资料来源:谋学网(www.mouxue.com)
81(1分)、
0
以变量名作为函数参数时,传递的信息是变量的值;以数组名作为函数参数时,传递的信息是实参数组首元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
82(1分)、
0
不能嵌套定义函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
83(1分)、
0
若有int a[10]; p=&a; 则p+1的值是数组a第1个元素的地址。
• A、正确
• B、错误
参考答案: 错误
展开解析
84(1分)、
0
指针已指向一个数组元素时,可以执行p+1。
• A、正确
• B、错误
参考答案: 正确
展开解析
85(1分)、
0
实参数组名代表一个固定的地址,或者说是指针常量,但形参数组名并不是一个固定的地址,而是按指针变量处理。
• A、正确
• B、错误
参考答案: 正确
展开解析
86(1分)、
0
C语言的函数定义是相互平行、独立的。
• A、正确
• B、错误
参考答案: 正确
展开解析
87(1分)、
0
以变量名作为函数参数时,要求形参的类型是变量名;以数组名作为函数参数时,要求形参的类型是数组名或指针变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
88(1分)、
0
如果p是一个指向struct Student类型对象的指针变量,那么执行p++时,p的增量是结构体struct Student的长度。
• A、正确
• B、错误
参考答案: 正确
展开解析
89(1分)、
0
可以先声明结构体类型,再定义该类型的变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
90(1分)、
0
结构体类型不占存储单元,但结构体类型变量占存储单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
91(1分)、
0
指向整型数据的指针类型表示为“int *”,读作“指向int的指针”或简称“int指针”。
• A、正确
• B、错误
参考答案: 正确
展开解析
92(1分)、
0
指针变量可指向结构体数组中的元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
93(1分)、
0
C语言允许把(*p).num用p_>num来代替( )。
• A、正确
• B、错误
参考答案: 正确
展开解析
94(1分)、
0
引用数组元素可以用下标法,也可以用指针法。
• A、正确
• B、错误
参考答案: 正确
展开解析
95(1分)、
0
可以引用结构体变量中成员的值,引用方式为结构体变量名.成员名
• A、正确
• B、错误
参考答案: 正确
展开解析
96(1分)、
0
数组元素的作用与变量相当,一般来说,凡是变量可以出现的地方都可以用数组元素代替。
• A、正确
• B、错误
参考答案: 正确
展开解析
97(1分)、
0
数组元素的指针就是数组元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
98(1分)、
0
C语言的特点之一就在于允许函数的递归调用。
• A、正确
• B、错误
参考答案: 正确
展开解析
99(1分)、
0
数组只能存放同一类型的数据。
• A、正确
• B、错误
参考答案: 正确
展开解析
100(1分)、
0
在调用一个函数的过程中允许直接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
• <返回
• 2023年秋季作业
•
单选题 资料来源:谋学网(www.mouxue.com)
得分:0分
正确 错误 未批阅
单选题(80题 共80分)
0 80 得分0分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
资料来源:谋学网(www.mouxue.com)(20题 共20分)
0 20 得分0分
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
已完成批阅重做
单选题
1(1分)、
0
若有说明:int a[3][4]={0};则下面正确的叙述是( )。
• A、
只有元素a[0][0]可得到初值0
• B、
此说明语句不正确
• C、
数组a 中各元素都可得到初值,但其值不一定为0
• D、
数组a 中每个元素均可得到初值0
参考答案: D
展开解析
2(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: C
展开解析
3(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: A
展开解析
4(1分)、
0
以下哪一个可以作为正确的变量名( )。
• A、
for
• B、
$abc
• C、
3*x
• D、
_file
参考答案: D
展开解析
5(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
6(1分)、
0
在C语言中,数字018是一个( )。
• A、
十进制数
• B、
八进制数
• C、
十六进制数
• D、
非法数
参考答案: D
展开解析
7(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
8(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是 。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
9(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
10(1分)、
0
若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
• A、
int 型
• B、
float 型
• C、
double 型
• D、
由系统当时的情况而定
参考答案: A
展开解析
11(1分)、
0
有如下程序
int func(int a,int b)
{ return(a+b); }
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是( )。
• A、
12
• B、
13
• C、
14
• D、
15
参考答案: D
展开解析
12(1分)、
0
以下能对二维数组a 进行正确初始化的语句是( )。
• A、
int a[2][]={{1,0,1},{5,2,3}};
• B、
int a[][3]={{1,2,3},{4,5,6}};
• C、
int a[2][4]={{1,2,3},{4,5},{6}};
• D、
int a[][3]={{1,0,1},{},{1,1}};
参考答案: B
展开解析
13(1分)、
0
两次运行下面的程序,如果从键盘上分别输入1和10,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
1和2
• B、
10和11
• C、
1和10
• D、
2和11
参考答案: D
展开解析
14(1分)、
0
在一个C程序中,( )。
• A、
main函数必须出现在所有函数之前
• B、
main函数可以在任何地方出现
• C、
main函数必须出现在所有函数之后
• D、
main函数必须出现在固定位置
参考答案: B
展开解析
15(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
16(1分)、
0
定义一个void型函数意味着调用该函数时,函数( )。
• A、
通过return返回一个用户所希望的函数值
• B、
返回一个系统默认值
• C、
没有返回值
• D、
返回一个不确定的值
参考答案: C
展开解析
17(1分)、
0
若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
• A、
0和1
• B、
0和20
• C、
10和1
• D、
10和20
参考答案: B
展开解析
18(1分)、
0
以下关于函数的叙述中不正确的是( )。
• A、
C程序是函数的集合,包括标准库函数和用户自定义函数
• B、
在C语言程序中,被调用的函数必须在main函数中定义
• C、
在C语言程序中,函数的定义不能嵌套
• D、
在C语言程序中,函数的调用可以嵌套
参考答案: B
展开解析
19(1分)、
0
以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 。
• A、
switch(a) {case 1:a=b;break; default:a++; }
• B、
switch(a==1) {case 0:a=b;break;case 1:a++; }
• C、
switch(a) {default:a++;break;case 1:a=b;}
• D、
switch(a==1) {case 1:a=b;break; case 0:a++;}
参考答案: B
展开解析
20(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: A
展开解析
21(1分)、
0
如果一个函数位于C程序中定义的第一个函数,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( )。
• A、
为全局变量,在本程序文件范围内有效
• B、
为局部变量,只在该函数内有效
• C、
为局部变量,只在该复合语句中有效
• D、
定义无效,为非法变量
参考答案: C
展开解析
22(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
23(1分)、
0
已知if (x>y||x<z&&y>z);z=x; x=y; y=z;int x=30,y=50,z=80;语句执行后变量x、y、z的值分别为: 。
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: C
展开解析
24(1分)、
0
若函数调用时参数为基本数据类型的变量,以下叙述正确的是( )。
• A、
实参与其对应的形参共占存储单元
• B、
只有当实参与其对应的形参同名时才共占存储单元
• C、
实参与对应的形参分别占用不同的存储单元
• D、
实参将数据传递给形参后,立即释放原先占用的存储单元
参考答案: C
展开解析
25(1分)、
0
以下关于函数叙述中,错误的是( )。
• A、
函数未被调用时,系统将不为形参分配内存单元
• B、
实参与形参的个数应相等,且实参与形参的类型必须对应一致
• C、
当形参是变量时,实参可以是常量、变量或表达式
• D、
形参可以是常量、变量或表达式
参考答案: D
展开解析
26(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: B
展开解析
27(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
28(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: D
展开解析
29(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: B
展开解析
30(1分)、
0
若A是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 。
• A、
1
• B、
0
• C、
2
• D、
不知道a的值,不能确定
参考答案: A
展开解析
31(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
25
• B、
20
• C、
24
• D、
30
参考答案: B
展开解析
32(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
实型
• B、
浮点型
• C、
空类型
• D、
关系型
参考答案: C
展开解析
33(1分)、
0
以下叙述正确的是()
• A、
计算机不仅能执行机器语言程序,也可以直接执行其它高级语言编写的程序。
• B、
汇编语言是一种面向机器的低级语言,所以计算机可以直接执行用汇编语言编写的源程序。
• C、
高级语言是与自然语言或数学语言相近的计算机语言,用高级语言编写的源程序计算机都不能直接执行。
• D、
用高级语言编写的源程序只能经过解释程序边解释边执行。
参考答案: C
展开解析
34(1分)、
0
有以下程序
#include <stdio.h>
main()
{ int a;
scanf("%d" ,&a);
if(a++<9) printf("%d\n",a);
else printf("%d\n",a);
}
程序运行时从键盘输入9<回车>,则输出的结果是 。
• A、
10
• B、
11
• C、
9
• D、
8
参考答案: A
展开解析
35(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是( )。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
36(1分)、
0
C语言中while 和do-while 循环的主要区别是( )。
• A、
do-while 的循环体不能是复合语句
• B、
while 的循环控制条件比do-while 的循环控制条件严格
• C、
do-while 允许从外部转到循环体内
• D、
do-while的循环体至少无条件执行一次
参考答案: D
展开解析
37(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
38(1分)、
0
一个完整的C源程序是( )。
• A、
要由一个主函数或一个以上的非主函数构成
• B、
由一个且仅由一个主函数和零个以上的非主函数构成
• C、
要由一个主函数和一个以上的非主函数构成
• D、
由一个且只有一个主函数或多个非主函数构成
参考答案: B
展开解析
39(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?a:b;k=(b<c)?b:c;
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: C
展开解析
40(1分)、
0
以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是 。
• A、
switch(a)
{ case1:a=b; break;
default:a++;
}
• B、
switch(a==1)
{ case 0:a=b; break;
case 1:a++;
}
• C、
switch(a)
{ default:a++;break;
case1:a=b;
}
• D、
switch(a==1)
{ case 1:a=b;break;
case 0:a++;
}
参考答案: B
展开解析
41(1分)、
0
两次运行下面的程序,如果从键盘上分别输入4和6,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
42(1分)、
0
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
该程序可以输出所有的( )。
• A、
素数
• B、
奇数
• C、
偶数
• D、
水仙花数
参考答案: D
展开解析
43(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
44(1分)、
0
以下不能对二维数组a 进行正确初始化的语句是( )。
• 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};
参考答案: C
展开解析
45(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
void main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
• A、
7
• B、
8
• C、
9
• D、
10
参考答案: B
展开解析
46(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
47(1分)、
0
合法的数组说明语句是( )。
• A、
int a[ ]="string";
• B、
int a[5]={0,1,2,3,4,5};
• C、
char a ="string";
• D、
int a[ ]={0,1,2,3,4,5};
参考答案: D
展开解析
48(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?a:b;k=(b<c)?b:c;
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: A
展开解析
49(1分)、
0
在C语言程序中( )。
• A、
main函数必须放在程序最前头
• B、
main函数必须放在程序最后
• C、
main函数必须放在所有函数之前
• D、
main函数可以放在程序任何允许放置函数的位置
参考答案: D
展开解析
50(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=80, y=30, z=50
• C、
x=30, y=50, z=80
• D、
x=50, y=30, z=30
参考答案: D
展开解析
51(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
52(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
53(1分)、
0
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
• A、
整型常量
• B、
整型表达式
• C、
整型常量、变量或表达式
• D、
任何类型的表达式
参考答案: C
展开解析
54(1分)、
0
以下对一维整型数组a 的正确说明是( )。
• A、
int a(10);
• B、
int n=10,a[n];
• C、
int n; scanf("%d",&n); int a[n];
• D、
int a[3*5+2];
参考答案: D
展开解析
55(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
56(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
main()
{
struct date
{ int year,month,day;
}today;
printf("%d\n",sizeof(today));
}
• A、
6
• B、
8
• C、
10
• D、
12
参考答案: D
展开解析
57(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
58(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d#%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3#5
• D、
35
参考答案: C
展开解析
59(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: C
展开解析
60(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
1 7 0
• C、
3 7 0
• D、
5 5 0
参考答案: B
展开解析
61(1分)、
0
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是( )。
• A、
float
• B、
long
• C、
int
• D、
double
参考答案: C
展开解析
62(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=4;i;i--)
for (j=0;j<5;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
63(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1,2<cr>
A,B,C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%d,y=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%d,%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d,%d,%c,%c,%c,%c,%c,%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d,%d,%c,%c,%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
64(1分)、
0
以下叙述中,不正确的是( )。
• A、
在同一C程序文件中,不同函数中可以使用同名变量
• B、
在main函数体内定义的变量是全局变量
• C、
形参是局部变量,函数调用完成即失去意义
• D、
若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
参考答案: B
展开解析
65(1分)、
0
若用数组名作为函数调用的实参,则传递给形参的是( )。
• A、
数组的首地址
• B、
数组的第一个元素的值
• C、
数组中全部元素的值
• D、
数组元素的个数
参考答案: A
展开解析
66(1分)、
0
以下程序运行的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/32>0?p/10:p%3)); }
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: D
展开解析
67(1分)、
0
以下不正确的概念是( )。
• A、
一个C程序必须包含一个main函数
• B、
一个C程序可以只有一个语句
• C、
一个C程序可以由一个或多个函数组成
• D、
一个C语言函数可以没有任何可执行语句
参考答案: B
展开解析
68(1分)、
0
若程序中定义函数
float myadd(float a, float b)
{ return a+b;}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是( )。
• A、
float myadd( float a,b);
• B、
float myadd(float b, float a);
• C、
float myadd(float, float);
• D、
float myadd(float a, float b);
参考答案: A
展开解析
69(1分)、
0
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )
• A、
a=a++,i++;
• B、
i=(a+k)<=(i+k);
• C、
i=A%11;
• D、
i=!a;
参考答案: C
展开解析
70(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
71(1分)、
0
有两个字符数组a,b,则以下正确的输入语句是( )。
• A、
gets(a,b);
• B、
scanf("%s%s",a,b);
• C、
scanf("%s%s",&a,&b);
• D、
gets("a"),gets("b");
参考答案: B
展开解析
72(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
73(1分)、
0
以下不能输出字符A的语句是()(注:字符A的ASCII码值为65,字符a的ASCII码值为97)
• A、
printf(“%c\n”,’A’-32)
• B、
printf(“%d\n”,’A’);
• C、
printf(“%c\n”,65);
• D、
printf(“%c\n”,’B’-1);
参考答案: B
展开解析
74(1分)、
0
struct student
{long int num;
char name[20];
char sex;
char addr[20];
}______。
以下能够正确定义的是
• A、
a={"Li Lin",10101,'M',"123 Beijing Road"};
• B、
a={10101,"Li Lin","123 Beijing Road",'M'};
• C、
a={10101,"Li Lin",'M',"123 Beijing Road"};
• D、
a={"123 Beijing Road","Li Lin",'M',10101};
参考答案: C
展开解析
75(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1 2<cr>
A B C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
76(1分)、
0
以下C语言源程序的书写格式不正确的是( )。
• A、
正确的函数首部,其后必须加上分号
• B、
分号是语句的一部分
• C、
一行上可以书写多条语句
• D、
一个语句可以写在多行之上
参考答案: A
展开解析
77(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
78(1分)、
0
以下哪一个不是正确的C语言常量( )。
• A、
0x2ac
• B、
3.25e-8
• C、
800
• D、
0486
参考答案: D
展开解析
79(1分)、
0
若有说明:int a[10];,则对a数组元素的正确引用是( )。
• A、
a[10]
• B、
a[3.5]
• C、
a(5)
• D、
a[10-10]
参考答案: D
展开解析
80(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3;5
• D、
35
参考答案: C
展开解析
资料来源:谋学网(www.mouxue.com)
81(1分)、
0
以变量名作为函数参数时,传递的信息是变量的值;以数组名作为函数参数时,传递的信息是实参数组首元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
82(1分)、
0
不能嵌套定义函数。
• A、正确
• B、错误
参考答案: 正确
展开解析
83(1分)、
0
若有int a[10]; p=&a; 则p+1的值是数组a第1个元素的地址。
• A、正确
• B、错误
参考答案: 错误
展开解析
84(1分)、
0
指针已指向一个数组元素时,可以执行p+1。
• A、正确
• B、错误
参考答案: 正确
展开解析
85(1分)、
0
实参数组名代表一个固定的地址,或者说是指针常量,但形参数组名并不是一个固定的地址,而是按指针变量处理。
• A、正确
• B、错误
参考答案: 正确
展开解析
86(1分)、
0
C语言的函数定义是相互平行、独立的。
• A、正确
• B、错误
参考答案: 正确
展开解析
87(1分)、
0
以变量名作为函数参数时,要求形参的类型是变量名;以数组名作为函数参数时,要求形参的类型是数组名或指针变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
88(1分)、
0
如果p是一个指向struct Student类型对象的指针变量,那么执行p++时,p的增量是结构体struct Student的长度。
• A、正确
• B、错误
参考答案: 正确
展开解析
89(1分)、
0
可以先声明结构体类型,再定义该类型的变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
90(1分)、
0
结构体类型不占存储单元,但结构体类型变量占存储单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
91(1分)、
0
指向整型数据的指针类型表示为“int *”,读作“指向int的指针”或简称“int指针”。
• A、正确
• B、错误
参考答案: 正确
展开解析
92(1分)、
0
指针变量可指向结构体数组中的元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
93(1分)、
0
C语言允许把(*p).num用p_>num来代替( )。
• A、正确
• B、错误
参考答案: 正确
展开解析
94(1分)、
0
引用数组元素可以用下标法,也可以用指针法。
• A、正确
• B、错误
参考答案: 正确
展开解析
95(1分)、
0
可以引用结构体变量中成员的值,引用方式为结构体变量名.成员名
• A、正确
• B、错误
参考答案: 正确
展开解析
96(1分)、
0
数组元素的作用与变量相当,一般来说,凡是变量可以出现的地方都可以用数组元素代替。
• A、正确
• B、错误
参考答案: 正确
展开解析
97(1分)、
0
数组元素的指针就是数组元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
98(1分)、
0
C语言的特点之一就在于允许函数的递归调用。
• A、正确
• B、错误
参考答案: 正确
展开解析
99(1分)、
0
数组只能存放同一类型的数据。
• A、正确
• B、错误
参考答案: 正确
展开解析
100(1分)、
0
在调用一个函数的过程中允许直接调用该函数本身。
• A、正确
• B、错误
参考答案: 正确
展开解析
• <返回
• 2023年秋季作业
•
单选题 资料来源:谋学网(www.mouxue.com)
得分:0分
正确 错误 未批阅
单选题(80题 共80分)
0 80 得分0分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
资料来源:谋学网(www.mouxue.com)(20题 共20分)
0 20 得分0分
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
已完成批阅重做
单选题
1(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: D
展开解析
2(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=80, y=30, z=50
• C、
x=30, y=50, z=80
• D、
x=50, y=30, z=30
参考答案: D
展开解析
3(1分)、
0
有以下程序
#include <stdio.h>
main()
{ int a;
scanf("%d" ,&a);
if(a++<9) printf("%d\n",a);
else printf("%d\n",a);
}
程序运行时从键盘输入9<回车>,则输出的结果是 。
• A、
10
• B、
11
• C、
9
• D、
8
参考答案: A
展开解析
4(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: C
展开解析
5(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?a:b;k=(b<c)?b:c;
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: A
展开解析
6(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
7(1分)、
0
有如下嵌套的if语句
if(a<b)
if(a<c) k=a;
else k=c;
if(b<c) k=b;
else k=c;
以下选项中与上述if语句等价的语句是 。
• A、
k=(a<b)?a:b;k=(b<c)?b:c;
• B、
k=(a<b)?((b<c)?a:b)((b>c)?b:c);
• C、
k=(a<b)?((a<c)?a:c)((b<c)?b:c);
• D、
k=(a<b)?a:b;k=(a<c)?a:c;
参考答案: C
展开解析
8(1分)、
0
若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为( )。
• A、
0和1
• B、
0和20
• C、
10和1
• D、
10和20
参考答案: B
展开解析
9(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
10(1分)、
0
一个完整的C源程序是( )。
• A、
要由一个主函数或一个以上的非主函数构成
• B、
由一个且仅由一个主函数和零个以上的非主函数构成
• C、
要由一个主函数和一个以上的非主函数构成
• D、
由一个且只有一个主函数或多个非主函数构成
参考答案: B
展开解析
11(1分)、
0
以下叙述正确的是()
• A、
计算机不仅能执行机器语言程序,也可以直接执行其它高级语言编写的程序。
• B、
汇编语言是一种面向机器的低级语言,所以计算机可以直接执行用汇编语言编写的源程序。
• C、
高级语言是与自然语言或数学语言相近的计算机语言,用高级语言编写的源程序计算机都不能直接执行。
• D、
用高级语言编写的源程序只能经过解释程序边解释边执行。
参考答案: C
展开解析
12(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
main()
{
struct date
{ int year,month,day;
}today;
printf("%d\n",sizeof(today));
}
• A、
6
• B、
8
• C、
10
• D、
12
参考答案: D
展开解析
13(1分)、
0
在一个C程序中,( )。
• A、
main函数必须出现在所有函数之前
• B、
main函数可以在任何地方出现
• C、
main函数必须出现在所有函数之后
• D、
main函数必须出现在固定位置
参考答案: B
展开解析
14(1分)、
0
若有说明:int a[3][4];则对a 数组元素的非法引用是( )。
• A、
a[0][2*1]
• B、
a[1][3]
• C、
a[4-2][0]
• D、
a[0][4]
参考答案: D
展开解析
15(1分)、
0
以下不正确的概念是( )。
• A、
一个C程序必须包含一个main函数
• B、
一个C程序可以只有一个语句
• C、
一个C程序可以由一个或多个函数组成
• D、
一个C语言函数可以没有任何可执行语句
参考答案: B
展开解析
16(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
1 7 0
• C、
3 7 0
• D、
5 5 0
参考答案: B
展开解析
17(1分)、
0
有如下程序
int func(int a,int b)
{ return(a+b); }
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
该程序的输出结果是( )。
• A、
12
• B、
13
• C、
14
• D、
15
参考答案: D
展开解析
18(1分)、
0
若函数调用时参数为基本数据类型的变量,以下叙述正确的是( )。
• A、
实参与其对应的形参共占存储单元
• B、
只有当实参与其对应的形参同名时才共占存储单元
• C、
实参与对应的形参分别占用不同的存储单元
• D、
实参将数据传递给形参后,立即释放原先占用的存储单元
参考答案: C
展开解析
19(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
20(1分)、
0
在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。
• A、
整型常量
• B、
整型表达式
• C、
整型常量、变量或表达式
• D、
任何类型的表达式
参考答案: C
展开解析
21(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
22(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
集合型
• B、
双精度型
• C、
复数型
• D、
布尔型
参考答案: A
展开解析
23(1分)、
0
以下程序段:
int i,a=3,b=2;
i=(--a==b++)?--a:++b;
printf("i=%d a=%d b=%d",i,a,b);
输出结果是 。
• A、
i=1 a=1 b=3
• B、
i=3 a=2 b=3
• C、
i=4 a=1 b=4
• D、
i=4 a=2 b=4
参考答案: A
展开解析
24(1分)、
0
以下关于函数的叙述中正确的是( )。
• A、
C语言程序将从源程序中第一个函数开始执行
• B、
可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
• C、
C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束
• D、
main可作为用户标识符,用以定义任意一个函数
参考答案: C
展开解析
25(1分)、
0
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("%d%d%d ",i,j,k);
}
该程序可以输出所有的( )。
• A、
素数
• B、
奇数
• C、
偶数
• D、
水仙花数
参考答案: D
展开解析
26(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d#%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3#5
• D、
35
参考答案: C
展开解析
27(1分)、
0
以下不能对二维数组a 进行正确初始化的语句是( )。
• 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};
参考答案: C
展开解析
28(1分)、
0
以下对一维整型数组a 的正确说明是( )。
• A、
int a(10);
• B、
int n=10,a[n];
• C、
int n; scanf("%d",&n); int a[n];
• D、
int a[3*5+2];
参考答案: D
展开解析
29(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
30(1分)、
0
如果一个函数位于C程序中定义的第一个函数,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量( )。
• A、
为全局变量,在本程序文件范围内有效
• B、
为局部变量,只在该函数内有效
• C、
为局部变量,只在该复合语句中有效
• D、
定义无效,为非法变量
参考答案: C
展开解析
31(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
30
• B、
25
• C、
24
• D、
20
参考答案: D
展开解析
32(1分)、
0
在C语言中,数字018是一个( )。
• A、
十进制数
• B、
八进制数
• C、
十六进制数
• D、
非法数
参考答案: D
展开解析
33(1分)、
0
以下不正确的叙述是( )。
• A、
一个#include命令只能指定一个被包含文件
• B、
一个#include命令可以指定多个被包含文件
• C、
在#include命令中,文件名可以用尖括号或双引号括起来
• D、
一个C程序中,可以使用多个#include文件包含命令
参考答案: B
展开解析
34(1分)、
0
C语言中while 和do-while 循环的主要区别是( )。
• A、
do-while 的循环体不能是复合语句
• B、
while 的循环控制条件比do-while 的循环控制条件严格
• C、
do-while 允许从外部转到循环体内
• D、
do-while的循环体至少无条件执行一次
参考答案: D
展开解析
35(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
211
• C、
011
• D、
001
参考答案: B
展开解析
36(1分)、
0
以下程序的运行结果是 。
main( )
{
int c,x,y;
x=1; y=1; c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
• A、
110
• B、
011
• C、
211
• D、
001
参考答案: B
展开解析
37(1分)、
0
两次运行下面的程序,如果从键盘上分别输入1和10,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
1和2
• B、
10和11
• C、
1和10
• D、
2和11
参考答案: D
展开解析
38(1分)、
0
当执行以下程序段时,程序的执行情况是( )。
x=-1;
do { x=x*x;} while( !x);
• A、
循环体将执行一次
• B、
循环体将执行两次
• C、
循环体将执行无限次
• D、
系统将提示有语法错误
参考答案: A
展开解析
39(1分)、
0
以下选项中与if(a==1)a=b;else a++;语句功能不同的switch语句是 。
• A、
switch(a)
{ case1:a=b; break;
default:a++;
}
• B、
switch(a==1)
{ case 0:a=b; break;
case 1:a++;
}
• C、
switch(a)
{ default:a++;break;
case1:a=b;
}
• D、
switch(a==1)
{ case 1:a=b;break;
case 0:a++;
}
参考答案: B
展开解析
40(1分)、
0
若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是( )。
• A、
3 5
• B、
3,5
• C、
3;5
• D、
35
参考答案: C
展开解析
41(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
42(1分)、
0
struct student
{long int num;
char name[20];
char sex;
char addr[20];
}______。
以下能够正确定义的是
• A、
a={"Li Lin",10101,'M',"123 Beijing Road"};
• B、
a={10101,"Li Lin","123 Beijing Road",'M'};
• C、
a={10101,"Li Lin",'M',"123 Beijing Road"};
• D、
a={"123 Beijing Road","Li Lin",'M',10101};
参考答案: C
展开解析
43(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
35
• B、
34
• C、
4
• D、
3
参考答案: C
展开解析
44(1分)、
0
有以下程序
#include<stdio.h>
main()
{
int a=1,b=0;
if(--a) b++;
else if(a==0) b+=2;
else b+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是 。
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: C
展开解析
45(1分)、
0
若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。
• A、
int 型
• B、
float 型
• C、
double 型
• D、
由系统当时的情况而定
参考答案: A
展开解析
46(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
47(1分)、
0
若有说明:int a[10];,则对a数组元素的正确引用是( )。
• A、
a[10]
• B、
a[3.5]
• C、
a(5)
• D、
a[10-10]
参考答案: D
展开解析
48(1分)、
0
以下能对二维数组a 进行正确初始化的语句是( )。
• A、
int a[2][]={{1,0,1},{5,2,3}};
• B、
int a[][3]={{1,2,3},{4,5,6}};
• C、
int a[2][4]={{1,2,3},{4,5},{6}};
• D、
int a[][3]={{1,0,1},{},{1,1}};
参考答案: B
展开解析
49(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=4;i;i--)
for (j=0;j<5;j++){...}
• A、
20
• B、
24
• C、
25
• D、
30
参考答案: A
展开解析
50(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• B、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
• C、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: C
展开解析
51(1分)、
0
以下哪一个不是C语言中的数据类型( )。
• A、
实型
• B、
浮点型
• C、
空类型
• D、
关系型
参考答案: C
展开解析
52(1分)、
0
假定所有变量均已正确说明,下列程序段运行后x的值是 。
a=b=c=0;x=35;
if(!a) x=-1;
else if(b);
if(c) x=3;
else x=4;
• A、
34
• B、
4
• C、
35
• D、
3
参考答案: B
展开解析
53(1分)、
0
若程序中定义函数
float myadd(float a, float b)
{ return a+b;}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是( )。
• A、
float myadd( float a,b);
• B、
float myadd(float b, float a);
• C、
float myadd(float, float);
• D、
float myadd(float a, float b);
参考答案: A
展开解析
54(1分)、
0
有两个字符数组a,b,则以下正确的输入语句是( )。
• A、
gets(a,b);
• B、
scanf("%s%s",a,b);
• C、
scanf("%s%s",&a,&b);
• D、
gets("a"),gets("b");
参考答案: B
展开解析
55(1分)、
0
以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是 。
• A、
switch(a) {case 1:a=b;break; default:a++; }
• B、
switch(a==1) {case 0:a=b;break;case 1:a++; }
• C、
switch(a) {default:a++;break;case 1:a=b;}
• D、
switch(a==1) {case 1:a=b;break; case 0:a++;}
参考答案: B
展开解析
56(1分)、
0
若有说明:int a[3][4]={0};则下面正确的叙述是( )。
• A、
只有元素a[0][0]可得到初值0
• B、
此说明语句不正确
• C、
数组a 中各元素都可得到初值,但其值不一定为0
• D、
数组a 中每个元素均可得到初值0
参考答案: D
展开解析
57(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 5 1
• B、
3 7 0
• C、
5 5 0
• D、
1 7 0
参考答案: D
展开解析
58(1分)、
0
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
59(1分)、
0
以下程序的运行结果是( )。
#include <stdio.h>
void main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
• A、
7
• B、
8
• C、
9
• D、
10
参考答案: B
展开解析
60(1分)、
0
若用数组名作为函数调用的实参,则传递给形参的是( )。
• A、
数组的首地址
• B、
数组的第一个元素的值
• C、
数组中全部元素的值
• D、
数组元素的个数
参考答案: A
展开解析
61(1分)、
0
以下关于函数叙述中,错误的是( )。
• A、
函数未被调用时,系统将不为形参分配内存单元
• B、
实参与形参的个数应相等,且实参与形参的类型必须对应一致
• C、
当形参是变量时,实参可以是常量、变量或表达式
• D、
形参可以是常量、变量或表达式
参考答案: D
展开解析
62(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
63(1分)、
0
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( )。
for (i=5;i;i--)
for (j=0;j<4;j++){...}
• A、
25
• B、
20
• C、
24
• D、
30
参考答案: B
展开解析
64(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
65(1分)、
0
以下哪一个可以作为正确的变量名( )。
• A、
for
• B、
$abc
• C、
3*x
• D、
_file
参考答案: D
展开解析
66(1分)、
0
写出下面程序的执行结果 。
main()
{ int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
• A、
1 7 0
• B、
3 7 0
• C、
5 5 0
• D、
1 5 1
参考答案: A
展开解析
67(1分)、
0
以下程序的输出结果是( )。
#include <stdio.h>
void main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue; } }
printf("%d\n",a); }
• A、
101
• B、
6
• C、
4
• D、
3
参考答案: C
展开解析
68(1分)、
0
定义一个void型函数意味着调用该函数时,函数( )。
• A、
通过return返回一个用户所希望的函数值
• B、
返回一个系统默认值
• C、
没有返回值
• D、
返回一个不确定的值
参考答案: C
展开解析
69(1分)、
0
若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )
• A、
a=a++,i++;
• B、
i=(a+k)<=(i+k);
• C、
i=A%11;
• D、
i=!a;
参考答案: C
展开解析
70(1分)、
0
以下程序运行的输出结果是 。
main()
{ int p=30;
printf("%d\n",(p/32>0?p/10:p%3)); }
• A、
0
• B、
1
• C、
2
• D、
3
参考答案: D
展开解析
71(1分)、
0
合法的数组说明语句是( )。
• A、
int a[ ]="string";
• B、
int a[5]={0,1,2,3,4,5};
• C、
char a ="string";
• D、
int a[ ]={0,1,2,3,4,5};
参考答案: D
展开解析
72(1分)、
0
以下哪一个不是正确的C语言常量( )。
• A、
0x2ac
• B、
3.25e-8
• C、
800
• D、
0486
参考答案: D
展开解析
73(1分)、
0
以下关于函数的叙述中不正确的是( )。
• A、
C程序是函数的集合,包括标准库函数和用户自定义函数
• B、
在C语言程序中,被调用的函数必须在main函数中定义
• C、
在C语言程序中,函数的定义不能嵌套
• D、
在C语言程序中,函数的调用可以嵌套
参考答案: B
展开解析
74(1分)、
0
若有定义:int x,y; char a,b,c; 并有以下输入数据(此处,<cr>代表换行符)
1 2<cr>
A B C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。
• A、
scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
• B、
scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
• C、
scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
• D、
scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
参考答案: D
展开解析
75(1分)、
0
两次运行下面的程序,如果从键盘上分别输入4和6,则输出结果是 。
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x++);
}
• A、
7和5
• B、
6和3
• C、
7和4
• D、
6和4
参考答案: A
展开解析
76(1分)、
0
能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 。
• A、
(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
• B、
(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
• C、
(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
• D、
(x<=-10)||(x>=-5)||(x<=0)||(x>=100)
参考答案: B
展开解析
77(1分)、
0
以下叙述中,不正确的是( )。
• A、
在同一C程序文件中,不同函数中可以使用同名变量
• B、
在main函数体内定义的变量是全局变量
• C、
形参是局部变量,函数调用完成即失去意义
• D、
若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
参考答案: B
展开解析
78(1分)、
0
已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为: 。
if (x>y||x<z&&y>z)
z=x; x=y; y=z;
• A、
x=50, y=80, z=80
• B、
x=50, y=30, z=30
• C、
x=30, y=50, z=80
• D、
x=80, y=30, z=50
参考答案: A
展开解析
79(1分)、
0
写出下面程序的执行结果 。
main( )
{ int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
• A、
1 3
• B、
1 5
• C、
5 3
• D、
5 5
参考答案: D
展开解析
80(1分)、
0
下列条件语句中输出结果与其他语句不同的是 。
• A、
if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);
• B、
if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);
• C、
if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);
• D、
if(a) printf(“%d\n”,x); else printf(“%d\n”,y);
参考答案: A
展开解析
资料来源:谋学网(www.mouxue.com)
81(1分)、
0
以变量名作为函数参数时,要求形参的类型是变量名;以数组名作为函数参数时,要求形参的类型是数组名或指针变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
82(1分)、
0
指针变量的基类型必须与结构体变量的类型相同( )。
• A、正确
• B、错误
参考答案: 正确
展开解析
83(1分)、
0
存储单元的地址和存储单元的内容是相同的概念。
• A、正确
• B、错误
参考答案: 错误
展开解析
84(1分)、
0
如果p是一个指向struct Student类型对象的指针变量,则它不应用来指向stu数组元素中的某一成员。
• A、正确
• B、错误
参考答案: 正确
展开解析
85(1分)、
0
若有int a[10]; p=&a[2]; 则p-1的值是数组a第1个元素的地址。
• A、正确
• B、错误
参考答案: 错误
展开解析
86(1分)、
0
指针变量可指向结构体变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
87(1分)、
0
程序中不应出现无终止的递归调用,只应出现有限次数、有终止的递归调用。
• A、正确
• B、错误
参考答案: 正确
展开解析
88(1分)、
0
可以用下标法引用一个数组元素,也可以用指针法引用一个数组元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
89(1分)、
0
可以先声明结构体类型,再定义该类型的变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
90(1分)、
0
可以引用结构体变量成员的地址,也可以引用结构体变量的地址
• A、正确
• B、错误
参考答案: 正确
展开解析
91(1分)、
0
p1和p2都指向同一个数组元素时,可以执行p1-p2或p1+p2。
• A、正确
• B、错误
参考答案: 错误
展开解析
92(1分)、
0
如a为数组名,则可采用*(a+i)的方法引用数组元素。
• A、正确
• B、错误
参考答案: 正确
展开解析
93(1分)、
0
指针已指向一个数组元素时,可以执行p++,++p。
• A、正确
• B、错误
参考答案: 正确
展开解析
94(1分)、
0
可以不指定类型名而直接定义结构体类型变量。
• A、正确
• B、错误
参考答案: 正确
展开解析
95(1分)、
0
结构体类型不占存储单元,但结构体类型变量占存储单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
96(1分)、
0
由于通过地址能找到所需变量单元,可以说,地址指向该变量单元。
• A、正确
• B、错误
参考答案: 正确
展开解析
97(1分)、
0
指向整型数据的指针类型表示为“int *”,读作“指向int的指针”或简称“int指针”。
• A、正确
• B、错误
参考答案: 正确
展开解析
98(1分)、
0
结构体数组的每个元素都包含多个成员。
• A、正确
• B、错误
参考答案: 正确
展开解析
99(1分)、
0
可以引用结构体变量中成员的值,引用方式为结构体变量名.成员名
• A、正确
• B、错误
参考答案: 正确
展开解析
100(1分)、
0
数组元素的指针就是数组元素的地址。
• A、正确
• B、错误
参考答案: 正确
展开解析
|
|