C语言开发基础(习题卷45)
第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]设有如下程序:_x000D_#include_x000D_main()_x000D_{ int **k, *j, i=100;_x000D_j=&i; k=&j;_x000D_printf("%d\n", **k);_x000D_}_x000D_上面程序的输出结果是()。
A)运行错误
B)100
C)i的地址
D)j的地址
答案:B
解析:
2.[单选题]以下说法正确的是()。
A)输入项可以为一实型常量,如scanf("%f",3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);
D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);
答案:D
字符串常量在内存中的存放位置由系统自动安排吗解析:
3.[单选题]以下程序段完全正确的是
A)int *p;scanf(“%d”,&p);
B)int *p;scanf(“%d”,p);
C)int k,*p=&k;scanf(“%d”,&p);
D)int k,*p;*p=&k;scanf(“%d”,&p);
答案:C
解析:
4.[单选题]下列说法中正确的是()
A)书写C语言程序时,区分字符大小写。
B)书写C语言程序时,一行只能写一条语句。
C)书写C语言程序时,一条语句不能可分成几行书写。
D)C语言本身有输入/输入语句。
答案:A
解析:
5.[单选题]在下列描述中,正确的一条是( )。
A)if(表达式)语句中,表达式的类型只限于逻辑表达式
B)语句“goto 12;”是合法的
C)for(;;)语句相当于while(1)语句
D)break语句可用于程序的任何地方,以终止程序的执行
答案:C
解析:
C)(x>=y)&&(y>=z)
D)(x>=y)||(y>=z)
答案:C
解析:
7.[单选题]关系数据模型( )。
A)只能表示实体间1:1联系
B)只能表示实体间1:m联系
C)可以表示实体间m:n联系
D)能表示实体间1:n联系而不能表示实体间n:1联系
答案:C
解析:关系模型用来表示现实世界的实体以及实体间的各种联系,这些联系包括:①一对一联系,记作1:1;②一对多联系,记作 1:m;③多对多联系,记作m:n。答案选择C选项。
8.[单选题]以下选项中,合法的一组C语言数值常量是( )。
A)12. 0Xa23 4.5e0
B)028 .5e-3 -0xf
C)177 4e1.5 0abc
D)0x8A 10,000 3.e5
答案:A
解析:C语言中八进制整型常量的开头是数字0,十六进制整型常量的开头数字是0x。C语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以"e"或"E"后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。B)选项中 028错误,八进制中没有数字8。C)选项中
4e1.5中e后面的指数不是整数。D)选项中3.e5小数点后面缺少数字。
9.[单选题]设有以下语句:Int a=1, b=2, c;C=a^(b<<2) ;执行后,c的值为( )。
A)7
B)9
C)8
D)6
答案:B
解析:b为2,二进制为00000010,执行左移两位操作后为00001000,然后与a 00000001做异或操作结果为00001001,即十进制的9
10.[单选题]语句fread(buffer,size, count,fp);,其中 buffer代表的是()
A)一个整型变量,代表要读入的数据项总数
B)一个指向所读文件的文件指针
C)存放读入数据项的存储区长度
D)存放读入数据的地址
答案:D
解析:语句 freadbuffer,size, count,fp,其中 buffer代表的是存放读入数据的地址。本题答案为D选项。
11.[单选题]表示关系“x<=y<=z”的C语言表达式为( )。
A)(x<=y)&&(y<=z)
B)(x<=y)AND(y<+z)
C)(x<=y<=y)
D)(x<=y)&(y<=z)
答案:A
A)所有成员一直驻留在内存中
B)只有一个成员驻留在内存中
C)部分成员驻留在内存中
D)没有成员驻留在内存中
答案:A
解析:
13.[单选题]设有定义
char a[10]={‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’};
以下错误的语句是( )。
A)scanf(“%c”, a[0]);
B)scanf(“%s”, a);
C)printf(“%c”, a[3]);
D)printf(“%s”, a);
答案:A
解析:
14.[单选题]执行语句for(i=1;i++<4;); 后变量的值为。
A)3
B)4
C)5
D)不定
答案:C
解析:
15.[单选题]以下程序调用findmax函数返回数组中的最大值_x000D_findmax(int *a,int n)_x000D_{ int
*p,*s;_x000D_for(p=a,s=a; p-a_x000D_if (______) s=p;_x000D_return(*s);_x000D_}_x000D_main()_x000D_{ int x[5]={12,21,13,6,18};_x000D_printf("%d\n",findmax(x,5));_x000D_}_x000D_在下划线处应填入的是()。
A)p>s
B)*p>*s
C)a[p]>a[s]
D)p-a>p-s
答案:B
解析:
16.[单选题]C语言中,char类型数据占()
A)2个字节
B)1个字节
C)8个字节
D)4个字节
答案:B
解析:
17.[单选题]在一个C源文件中,若要定义一个只允许本源文件中的所有函数使用的全局
则该变量使用的存储类别是
A)extern
B)register
C)Auto
18.[单选题]若有以下函数首部 int fun(double x[10],int*n) 则下面针对此函数的函数声明语句中正确的是( )。
A)int fun(double*,int*);
B)int fun(double,int);
C)int fun(double *x,int n);
D)int fun(double x,int*n);
答案:A
解析:函数声明应该和函数调用的参数保持一致,声明时的参数(形参)名字可以省略,数组在参数传递过程中变成指针。答案选择 A选项。
19.[单选题]字符串"A"和字符常量'A'各占用__ ____个字节的内存空间。
A)1,1
B)1,2
C)2,1
D)2,2
答案:C
解析:
20.[单选题]以下选项中,与k=n++;完全等价的语句是
A)k=n;n=n+1;
B)n=n+1;k=n;
C)k=++n;
D)k+=n+1;
答案:A
解析:
21.[单选题]C语言中,下列叙述正确的是______。
A)不能使用do-while语句构成的循环
B)do-while语句构成的循环,必须用break语句才能退出
C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环
答案:D
解析:本题的考查点是do-while语句。
22.[单选题]下列有关c语言字符数组的叙述中,错误的是()
A)不可以用赋值语句给字符数组名赋字符串
B)可以用输入语句把字符串整体输入给字符数组
C)字符数组中的内容不一定是字符串
D)字符数组只能存放字符串
答案:D
解析:
23.[单选题]下面程序段执行后的输出结果是( )。
Int m = 0256, n = 256;
Printf( "%o %o", m, n );
A)0256 0400
B)0256 256
C)256 400
24.[单选题]已知int *p,a;,则语句p=&a;中的运算符“&”的含义是_______。
A)逻辑与运算
B)位与运算
C)取指针内容
D)取变量地址
答案:D
解析:
25.[单选题]下列数组说明中, 正确的是().
A)int array[][4];
B)int array[][];
C)int array[][][5];
D)int array[3][];
答案:A
解析:
26.[单选题]执行下面程序中的输出语句后,输出结果是
___(  )_.
#include<stdio.h>
void main()
{int a;
printf("%d\n",(a=3*5,a*4,a+5));
}
A)65
B)20
C)15
D)10
答案:B
解析:
27.[单选题]以下函数头定义正确的是( )
A)double fun (int x, int y)
B)double fun (int x; int y)
C)double fun (int x, int y);
D)double fun (int x , y)
答案:A
解析:
28.[单选题]下面四个选项中,均是合法整型常量的选项是____
A)160 -0xffff 011
B)-0xcdf 01a 0xe
C)-01 986,012 0668
D)-0x48a 2e5 0x
答案:A
解析:
29.[单选题]下面的程序段将输出 。

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