最新计算机二级C练习题目和答案2Word文档格式.docx
《最新计算机二级C练习题目和答案2Word文档格式.docx》由会员分享,可在线阅读,更多相关《最新计算机二级C练习题目和答案2Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
![最新计算机二级C练习题目和答案2Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/12/a7b0c4b6-b8da-40f6-aa26-916376413055/a7b0c4b6-b8da-40f6-aa26-9163764130551.gif)
A)ABCED
B)DCBEA
C)DBCEA
D)CDABE
(8)数据库设计包括两个方面的设计内容,它们是
A)概念设计和逻辑设计
B)模式设计和内模式设计
C)内模式设计和物理设计
D)结构特性设计和行为特性设计
(9)关系表中的每一横行称为一个
A)元组
B)字段
C)属性
D)码
(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
A)课号,成绩
B)学号,成绩
C)学号,课号
D)学号,姓名,成绩
(11)以下不正确的叙述是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
(12)请选出可用作C语言用户标识符的是
A)void,define,WORD
B)a3_b3,_123,IF
C)FOR,--abc,Case
D)2a,Do,Sizeof
(13)以下选项中,不能作为合法常量的是
A)1.234e04
B)1.234e0.4
C)1.234e+4
D)1.234e0
(14)在C语言中,运算对象必须是整型数的运算符是
A)%
B)\
C)%和\
D)**
(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是
A)x=y==5;
B)x=n%2.5;
C)x+n=i;
D)x=5=4+1;
(16)有以下程序段
charch;
intk;
ch=′a′;
k=12;
printf("
%c,%d,"
ch,ch,k);
printf("
k=%d\n"
k);
已知字符a的ASCII码值为97,则执行上述程序段后输出结果是
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12
D)a,97,k=12
(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是
A)kk>
=′A′&
&
kk<
=′Z′
B)!
(kk>
=′A′||kk<
=′Z′)
C)(kk+32)>
=′a′&
(kk+32)<
D)isalpha(kk)&
(kk<
91)
(18)当变量c的值不为2、4、6时,值也为"
真"
的表达式是
A)(c==2)||(c==4)||(c==6)
B)(c>
=2&
c<
=6)||(c!
=3)||(c!
=5)
C)(c>
c<
=6)&
!
(c%2)
D)(c>
(c%2!
=1)
(19)若有条件表达式(exp)?
a++:
b--,则以下表达式中能完全等价于表达式(exp)的是(默认下不为0)
A)(exp==0)
B)(exp!
=0)
C)(exp==1)
D)(exp!
(20)以下不正确的定义语句是
A)doublex[5]={2.0,4.0,6.0,8.0,10.0};
B)inty[5]={0,1,3,5,7,9};
C)charc1[]={′1′,′2′,′3′,′4′,′5′};
D)charc2[]={′\x10′,′xa′,′\x8′};
(21)下列程序执行后的输出结果是
main()
{inta[3][3],*p,i;
p=&
a[0][0];
for(i=1;
i<
9;
i++)p[i]=i+1;
%d\n"
a[1][2];
)
A)3
B)6
C)9
D)随机数
(22)设有以下程序段
intx=0,s=0;
while(!
x!
=0)s+=++x;
%d"
s);
则
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
(23)(23)下面程序段的运行结果是
char*s="
abcde"
;
s+=2;
A)cde
B)字符′c′
C)字符′c′的地址
D)无确定的输出结果
(24)阅读下列程序,则执行后的结果为
#include"
stdio.h"
{intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
%x,%x\n"
c[2][2],*(*(c+1)+1));
}
A)3e,6
B)62,5
C)56,5
D)3E,6
(25)下面判断正确的是
A)char*a="
china"
等价于char*a;
*a="
B)charstr[5]={"
};
等价于charstr[]={"
C)char*s="
等价于char*s;
s="
D)charc[4]="
abc"
d[4]="
等价于charc[4]=d[4]="
(26)若有定义:
inta[2][3];
以下选项中对a数组元素正确引用的是
A)a[2][!
1]
B)a[2][3]
C)a[0][3]
D)a[1>
2][!
1]
(27)有定义语句:
chars[10];
若要从终端给s输入5个字符,错误的输入语句是
A)gets(&
s[0]);
B)scanf("
%s"
s+1);
C)gets(s);
D)scanf("
s[1]);
(28)有以下程序
#include<
stdio.h>
#defineN5
#defineMN+1
#definef(x)(x*M)
{inti1,i2;
i1=f
(2);
i2=f(1+1);
%d%d\n"
i1,i2);
程序的运行结果是
A)1212
B)117
C)1111
D)127
(29)若有以下说明和定义
uniondt
{inta;
charb;
doublec;
}data;
以下叙述中错误的是
A)data的每个成员起始地址都相同
B)变量data所占内存字节数与成员c所占字节数相等
C)程序段:
data.a=5;
%f\n"
data.c);
输出结果为5.000000
D)data可以作为函数的实参
(30)有以下程序
#include<
{FILE*fp;
intk,n,a[6]={1,2,3,4,5,6};
fp=fopen("
d2.dat"
"
w"
);
fprintf(fp,"
%d%d%d\n"
a[0],a[1],a[2]);
a[3],a[4],a[5]);
fclose(fp);
r"
fscanf(fp,"
%d%d"
&
k,&
n);
%d%d\n"
k,n);
程序运行后的输出结果是
A)12
B)14
C)1234
D)123456
(31)若已定义
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中则对a数组元素不正确的引用是
A)a[p-a]
B)*(&
a[i])
C)p[i]
D)a[10]
(32)有以下程序
voidfun(int*s,intn1,intn2)
{inti,j,t;
i=n1;
j=n2;
while(i<
j){t=s[i];
s[i]=s[j];
s[j]=t;
i++;
j--;
{inta[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3);
fun(a,4,9);
fun(a,0,9);
for(k=0;
k<
l0;
k++)printf("
a[k]);
\n"
A)0987654321
B)4321098765
C)5678901234
D)0987651234
(33)阅读下列程序,当运行函数时,输入asdafaaz67,则输出为
ctype.h>
string.h>
intfun(char*str)
{inti,j=0;
for(i=0;
str[i]!
=′\0′;
i++)
if(str[i]!
=′′)str[j++]=str[i];
str[j]=′\0′;
{
charstr[81];
intn;
Inputastring:
"
gets(str);
puts(str);
fun(str);
%s\n"
str);
A)asdafaaz67
B)asdafaaz67
C)asd
D)z67
(34)有以下程序
intfun(intn)
{if(n==1)return1;
else
return(n+fun(n-1));
{i