C语言开发基础(习题卷37)
第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]下面程序段的运行结果是__(  )____.
int x=0,y=0;
while (x<15) y++,x+=++y;
printf("%d,%d",y,x);
A)20,7
B)6,12
C)20,8
D)8,20
答案:D
解析:
2.[单选题]以下程序代码块,描述正确的是?int t;for(t=1;t<=100;t++){ int x = int.Parse(Console.ReadLine()); if(x<0) continue; Console.Write(t);}
A)当x<0时,整个循环结束
B)当x>=0时,什么也不输出
C)Console.Write永远不执行
D)最多允许输出100个正整数
答案:D
解析:
3.[单选题]以下程序实现了计算机给定字符数组的长度,请将程序填写完整*/
Int GetStrLength(char a[])
{
int n=0;
while( )填空1*/
{
n++;
}
Return n;
}
Main()
{
int n;
Char(str[10]=”hello”;
n= GetStrLength(str);
printf(“数组长度为%d”,n);
Getch();
}
请阅读代码并选择“填空1”的空白处应填写的内容( )
A)a[n]==’\0’
B)a[n]!=a[n+1];
C)a[n]!=’\0’
D)a[n]!=’\n’
解析:
4.[单选题]在C语言中对文件操作的一般步骤是( )。
A)打开文件,操作文件,关闭文件
B)操作文件,修改文件,关闭文件
C)读/写文件,打开文件,关闭文件
D)读文件,写文件,关闭文件
答案:A
解析:
5.[单选题](  ) 。以下非法的赋值语句是。
A)n= ( i=2 , ++i);
B)j++ ; 2
C)++ (i+1);
D)x=j>0 ;
答案:C
解析:
6.[单选题]下面程序段。
x=3;
do{y=x--;
if(!y) {printf("*"); continue;}
printf("#");
}while(1<=x<=2);
A)将输出##
B)将输出###*
C)是死循环
D)含有不合法的控制表达式
答案:C
解析:
7.[单选题]数据库的故障恢复一般是由( )来执行恢复。
A)电脑用户
B)数据库恢复机制
C)数据库管理员
D)系统普通用户
答案:C
解析:普通用户没有权限恢复数据库故障,数据库发生故障后需要由数据库管理员及时进行故障恢复。答案选择C选项。
8.[单选题]若有定义“ longx,y"且变量a和b都需要通过键盘输人获得初值,则下列语句中
正确的是( )
A)scanf("%ld%ld, &a,&b");
B)scanf("%d%d",a, b);
C)scanf("%d%d",&a,&b);
D)scanf("%ld%ld",&a, &b);
答案:D
解析:
9.[单选题]如有语句“int x,y=0,z,*p[3]; p[0]=&x; p[1]=&y; p[2]=&z;”,以下表达式中有语法错误的是
_________。
B)(*p[0])++
C)(**(p+1))++
D)P++
答案:D
解析:
10.[单选题]下面选项中,有语法错误的是_________。
A)F(char a[10]){while(*a)printf("%c",*a++);}
B)F(char *a){while(a[0])printf("%c",*a++);}
C)Main(){char *a="first";while(*a)printf("%c",*a++);}
D)Main(){char a[10]= "Hello!";while(*a)printf("%c",*a++);}答案:D
解析:
11.[单选题]输出语句:printf("%d\n",11);的输出结果是
A)11
B)12
C)13
D)14
答案:A
解析:
12.[单选题]以下程序段中,能够正确地执行循环的是().
A)for(i=1;i>10;i++)
B)static int a;
While(a)
C)int s=6;
Do s-=2;
While(s);
D)int s=6;
M:if(s<100)
exit(0);
else s-=2;
Goto m:
答案:C
解析:
13.[单选题]有两个字符数组A)b,则以下正确的输入语句是。
A)gets(a,b);
B)scanf("%s%s",a,b);
C)scanf("%s%s",&a,&b);
D)gets("a");gets("b");
答案:B
解析:
14.[单选题]以下叙述正确的是( )
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
解析:
15.[单选题]以下语句中, 循环次数不为10 次的语句是().
writeline输出数值变量
A)for(i=1;i<10;i++);
B)i=1;do{i++;}while(i<=10);
C)i=10;while(i>0){--i;}
D)i=1;m:if(i<=10){i++;goto m;}
答案:A
解析:
16.[单选题]一个C语言的执行是从___________.
A)本程序的主函数开始,到本程序的主函数结束
B)本程序的第一个函数开始,到本程序的最后一个函数结束
C)本程序的主函数开始,到本程序的最后一个函数结束
D)本程序的第一个函数开始,到本程序的主函数结束
答案:A
解析:
17.[单选题]下对一维数组c进行正确的定义初始化的语句是
A)int c[10]=0;
B)int c[10]={0}*10;
C)int c[1]={0,0,0,0,0,0,0};
D)int c[10]={0};
答案:D
解析:
18.[单选题]有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是( ) 。 main() { int a,b; printf("Enter a,b:"); scanf("%d,%d",&a,&b); while(a!=b) { while(a>b) a -= b; while(b>a) b -= a; } printf("%3d%3d\n",a,b); }
A)1 1
B)2 1
C)2 2
D)3 3
答案:A
解析:
19.[单选题]C语言中函数返回值的类型是由 决定的。
A)return语句中的表达式类型
B)调用该函数的主函数类型
C)定义函数时所指定的函数类型
D)以上都可能
答案:C
解析:
20.[单选题]设有如下关系表: 则下列操作正确的是( )。
A)T=R/S
B)T=R×S
C)T=R∩S
D)T=R∪S
答案:C
算为交 (∩)。并运算将结构相同的两个关系合并,合并后的关系包含两个关系中的所有元组。答案选择C选项。
21.[单选题]对于下述说明,不能使变量p->b的值增1的表达式是( )。
Struct exm
{
int a;
int b;
float c
}*p;
A)++p->b
B)++(p++)->b
C)p->b++
D)(++p)->b++
答案:D
解析:
22.[单选题]以下对C语言源程序有关常识正确的描述是()。
A)main函数必须位于文件的开头
B)每个语句必须单独一行
C)标识符中大小写字母没有区别
D)宏定义#define部分不一定要放在程序的最开头位置
答案:D
解析:
23.[单选题]下列关于C语言说法错误的是()。
A)C程序从main函数开始执行
B)C语言不区分大小写
C)C程序的工作过程分为编辑、编译、连接、运行
D)一个C程序有且仅有一个主函数
答案:B
解析:
24.[单选题]2,3,4,5,6存入a数组的是()。
A)for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;
B)for(i=0;i<6;i++)a[i/3][i%3]=i+1;
C)for(i=1;i<=6;i++)a[i][i]=i;
D)for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;
答案:C
解析:
25.[单选题]main(argc,argv)中形参argv的正确声明形式应当为 __。
A)Char *argv[]
B)Char argv[]
C)Char argv[][]
D)Char *argv
答案:A
解析:
26.[单选题]下面描述正确的是()
A)两个字符串所包含的字符个数相同时,才比较字符串

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。