|
试卷名称:18秋学期《高级语言程序设计基础》在线作业2-0001
1.有两个字符数组a、b,则以下正确的输入语句是( )。
A.gets(a,b);
B.scanf("%s%s",a,b);
C.scanf("%s%s",&a,&b);
D.gets("a"); gets("b");"
答案:-
2.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。for (y=100; x!=y;
++x,y++) printf("****\n");
A.循环体只执行一次
B.是无限循环
C.循环体一次都不执行
D.for语句中存在语法错误
答案:-
3.有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
A.运行后将输出China
B.运行后将输出Ch
C.运行后将输出Chi
D.编译时出错
答案:-
4.下面程序段的输出结果是( )。
int a=023;printf("%d\n",--a);
A.23
B.17
C.18
D.24
答案:-
5.语句while (!y)中的表达式 !y 等价于( )。
A.y==0
B.y!=1
C.y!=0
D.y==1
答案:-
6.以下判断正确的是( )。
A.char *s="string"; 等价于char *s; *s="string";
B.char str[10]={"string"}; 等价于char str[10]; str={"string"};
C.char *s="string"; 等价于char *s; s="string";
D.char str[10]={"string"}; 等价于char str[10]; *str={"strint"};"
答案:-
7.若执行下述程序时从键盘输入3 4,则输出结果是( )。#include main( ) { int a,b,s;
scanf("%d%d",&a,&b); s=a; if (ab) printf("%d\n",s*s); s=b; }
A.186
B.256
C.324
D.400
答案:-
8.若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。
A.a, p, &*a
B.*&a, &a, *p
C.&a, p, &*p
D.*&p, *p, &a"
答案:-
9.以下能正确进行字符串赋值操作的是( )。
A.char s[5]={"12345"};
B.char s[5]={'1', '2', '3', '4', '5'};
C.char *s; *s="12345";
D.char *s="12345"; "
答案:-
10.以下对指针变量的操作中,不正确的是( )。
A.int p, *q; q=&p;
B.int *p, *q; q=p=NULL;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;"
答案:-
11.以下正确的说法是( )。
A.实参和与其对应的形参各占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共用存储单元
D.形参是虚拟的,不占用存储单元
答案:-
12.若k为整型变量,则以下for循环的执行次数是( )。for (k=2; k==0; )
printf("%d",k--);
A.无限次
B.0次
C.1次
D.2次
答案:-
13.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
A.[常量表达式]
B.[整型表达式]
C.[整型常量或整型表达式]
D.[整型常量]
答案:-
14.下面程序的输出结果为( )。
main( )
{ int a=1,b=0;
|
|