C语言1Word格式.docx
- 文档编号:18498522
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:42
- 大小:30.84KB
C语言1Word格式.docx
《C语言1Word格式.docx》由会员分享,可在线阅读,更多相关《C语言1Word格式.docx(42页珍藏版)》请在冰豆网上搜索。
(15)已知inti,a;
执行语句i=(a=3,a++,--a,a+4,a+5,++a);
后,变量i的值为
A)2
B)3
A正确答案:
(16)下列说法中正确的是
A)一个C程序是从命令行开始执行的
B)C程序中有些执行语句不用分号(;
)结束
C)分号不是C语句的一部分,是C语句之间的分隔符
D)命令行必须用“#”开头,最后不能加“;
”号,命令行不是C程序中的语句
(17)已知intx=2;
执行语句x*=x+=++x;
后,x的值是
A)16
B)26
C)36
D)46
(18)已知inta=20,b=5;
则执行以下语句后的输出结果是
printf("
%d\n"
a%=(b%=2));
C)2
D)3
A
(19)现有以下程序段
#include<
stdio.h>
main()
{inta,b,c;
scanf("
a=%*d%d,b=%d%*d,c=%d"
&
a,&
b,&
c);
a=%d,b=%d,c=%d\n"
a,b,c);
}
若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是
A)a=10]20,b=20]30,c=40<
CR>
B)20,30,40<
C)a=20,b=30,c=40<
D)a=10]20,b=30]20,c=40<
[注]:
“]”表示空格,<
表示回车
(20)已知intx=5,y=3;
则表达式(x||y)&
&
78的结果为
A)1
B)0
C)5
D)78
(21)有如下程序段
#include"
stdio.h"
{inta=10,b=50,c=30;
a=a>
30?
1:
2;
b=b>
c=c>
%d,%d,%d\n"
}
则执行结果为
A)2,1,2
B)1,2,1
C)1,1,2
D)2,1,1
(22)阅读如下程序段
#include"
main()
{inta=45,b=40,c=50,d;
d=a>
b:
c;
switch(d)
{case30:
printf("
%d,"
a);
case40:
b);
case50:
c);
default:
#"
);
}}
则输出的结果是
A)40,50,
B)50,#
C)40,#
D)40,50,#
(23)若有定义intk=10;
则下列程序的输出结果为
do{
%d"
k--);
}while(!
k);
A)9
B)10
C)10987654321
D)没有输出
(24)阅读下列程序段,则程序的输出结果是
{inta=10,b=10,k;
for(k=0;
a>
8;
b=++k)
%d,%d,"
a--,--b);
\n"
A)10,10,10,0,
B)10,9,9,0,
C)10,10,9,1,
D)9,9,9,1,
(25)下列程序的运行结果是
{inta,b,m;
for(a=5;
=1;
a--)
{m=0;
for(b=a;
b<
=5;
b++)
m=m+a*b;
m);
A)30
B)15
C)20
D)10
(26)有字符串如下,"
\n\\\407as1\"
\xabc"
则字符串的长度为
A)6
B)7
C)8
D)9
(27)阅读下面程序段
{charc;
c=(′z′-′a′)/2+′A′;
putchar(c);
输出结果为
A)M
B)N
C)O
D)Q
(28)下列说法中不正确的是
A)C语言规定,不能在一个函数的内部再定义函数
B)在没有声明函数返回值类型的情况下,C默认的函数返回值类型为int型
C)函数的类型可以是整型、实型、字符型,但不能是指针型
D)函数可以没有形参,但函数名后的一对圆括号不能省略
(29)现有如下程序,则程序的输出结果为
intf(inta,intb)
{intc;
if(a>
0&
a<
10)c=(a+b)/2;
elsec=a*b/2;
returnc;
{inta=8,b=20,c;
c=f(a,b);
A)随机数
B)80
C)28
D)14
(30)阅读如下程序段,则程序段的执行后的输出结果为
inti;
charcount();
intp(char);
for(i=0;
i<
30;
i++)c=count();
p(c);
charcount()
{charstr=′A′;
str+=1;
return(str);
p(charc)
{putchar(c);
putchar(′\n′);
A)A
B)B
C)a
D)b
(31)阅读如下程序段,则执行后的结果为
{inta,*p,*q,**w;
p=&
a;
q=&
w=&
p;
*p=5%6;
*q=5;
**w=3;
A)无确定值
(32)现有定义inta=10,*p=&
则不能使a的内容增1的语句是
A)*p++;
B)*p=*p+1;
C)++*p;
D)*p+=1;
(33)现有下列程序段
voidJFT(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
*a;
i++)
for(j=0;
j<
*b;
j++)
for(k=0;
k<
*c;
k++)
for(m=0;
m<
*d;
m++)*e++;
{inta=10,b=10,c=10,d=10,e=0;
JFT(&
c,&
d,&
e);
e);
则程序段的输出结果是
A)10000
B)1000
C)10001
D)0
(34)已知:
intc[5][6];
则对数组元素引用不正确的是
A)c[0+2][2*1]
B)c[1][3]
C)c[4-2][0]
D)c[5][2]
(35)以下能对二维数组c进行正确的初始化的语句是
A)intc[3][]={{3},{3},{4}};
B)intc[][3]={{3},{3},{4}};
C)intc[3][2]={{3},{3},{4},{5}};
D)intc[][3]={{3},{},{3}};
(36)阅读下列程序段,则程序段实现的功能是
{intk[10];
intj;
10;
k[j]);
for(j=9;
j>
=0;
j--)
k[j]);
A)输入10个数据的顺序输入并输出
B)输入10个数据的逆序存放
C)输入10个数据的逆序输出
D)以上叙述均错误
(37)阅读程序,则执行后的结果为
{inti,m,n;
3;
{m=test1();
n=test2();
%d,%d\n"
m,n);
test1()
{intx=0;
x++;
returnx;
test2()
{staticintx=0;
A)1,1
B)1,3
C)3,1
D)3,3
(38)以下关于宏替换叙述中,错误的是
A)宏替换占用编译时间
B)替换文本中可以包含已定义过的宏名
C)宏名可以由+号组成
D)宏替换只能是字符替换
(39)阅读下面程序,则程序的输出结果为
{intc[]={1,2,3,4,5,6};
int*p;
p=c;
*p);
*++p);
A)1,2
B)2,1
C)1,1
D)2,2
(40)有如下定义,则函数fun的首部可以是
#defineN5
#defineM6
{doublec[M][N];
fun(c);
A)fun(doublea)
B)fun(doublea[M][])
C)fun(double*a)
D)fun(double(*a)[N])
(41)下面关于字符串的说明中,错误的是
A)chara[15]="
jft"
;
B)chara[]="
C)char*a=:
"
D)chara[]={′j′,′f′,′t′};
(42)已知:
chara[20]="
abc"
b[20]="
defghi"
则执行下列语句后的输出结果为
strlen(strcpy(a,b)));
A)11
B)6
D)以上答案都不正确
(43)阅读如下程序段,则程序在先后输入love和china后,输出结果是
#include<
string.h>
{chara[30],b[30];
intk;
gets(a);
gets(b);
k=strcmp(a,b);
if(k>
0)puts(a);
elseif(k<
0)puts(b);
A)love
B)china
C)lovechina
D)没有输出结果
(44)阅读下面程序,则执行后的结果为
string.h"
#defineN10
#defineM10
char*find(char(*a)[M],intn)
{char*q;
inti;
q=a[0];
n;
if(strcmp(a[i],q)<
0)q=a[i];
returnq;
{chars[N][M]={"
tomeetme"
"
you"
and"
he"
china"
};
char*p;
intn=5,i;
p=find(s,n);
puts(p);
A)he
B)and
C)you
D)tomeetme
(45)当定义一个结构变量时系统分配给它的内存是
A)各个成员占用内存的总和
B)成员中占内存量最大者所需的容量
C)定义的同时并不分配空间
D)结构中最后一个成员所需内存量
(46)有以下说明语句
structa{charx;
doubley;
}ptype;
则下列选项中错误的是
A)a是用户定义的结构体标识
B)structa是用户定义的结构类型
C)ptype是用户定义的结构类型名
D)x和y都是结构成员名
(47)已知有如下定义:
structa{charx;
}data,*t;
若有t=&
data,则对data中的成员的正确引用是
A)(*t).data.x
B)(*t).x
C)t->
data.x
D)t.data.x
(48)若有以下程序段,则选项中值为2的是
structa{intn,*next;
intx=1,y=2,z=3;
structas[3],*p=s;
s[0].next=&
x;
s[1].next=&
y;
s[2].next=&
A)*(p++)->
next
B)*(++p)->
C)(*p).next
D)(p++)->
C正确答案:
(49)下面程序段的输出为
{inta=8,b;
b=a|1;
b>
>
a,b);
A)4,4
B)4,0
C)8,4
D)8,0
(50)阅读下面程序,此程序的功能为
main(intargc,char*argv[])
{FILE*p1,*p2;
intc;
p1=fopen(argv[1],"
r"
p2=fopen(argv[2],"
a"
c=fseek(p2,0L,2);
while((c=fgetc(p1))!
=EOF)fputc(c,p2);
fclose(p1);
fclose(p2);
A)实现将p1打开的文件中的内容复制到p2打开的文件
B)实现将p2打开的文件中的内容复制到p1打开的文件
C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后
D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后
二、填空题
(1)算法的工作量大小和实现算法所需的存储单元多少分别称为算法的【1】。
A考生答案:
时间复杂度和空间复杂度
(2)数据结构包括数据的逻辑结构、数据的【2】以及对数据的操作运算。
存储结构
(3)可以把具有相同属性的一些不同对象归类,称为【3】。
对象类
(4)软件工程包括3个要素,分别为方法、工具和【4】。
过程
(5)由关系数据库系统支持的完整性约束是指【5】和参照完整性。
实体完整性
(6)表达式3*7/2+7/2%5的值为【6】。
13
(7)阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为【7】。
{chara;
a=getchar();
switch(a)
{case65:
%c"
′A′);
case66:
′B′);
%s\n"
other"
ABother
(8)以下程序的输出结果是【8】。
{chara[]="
abcdefg"
charb[10]="
sizeof(a),sizeof(b));
8,10
(9)阅读下面程序段,则执行后的输出结果为【9】。
{inta=1;
for(;
=15;
)
if(++a%5!
=2)continue;
elseprintf("
2712
(10)以下程序的输出结果是【10】。
{intm=2,n=6;
n>
n--)m*=n;
0
(11)阅读下列程序,则执行后的结果为【11】。
fun(intx,inty)
{intz;
z=x;
x=y;
y=z;
{inta,b;
a=100;
b=640;
fun(a,b);
100,640
(12)阅读以下程序,使程序输出结果为30,4.000000,请填空。
{inta=30,b=40,c;
double【12】,s;
s=fun(&
%d,%lf\n"
c,s);
doublefun(int*a,int*b,【13】)
{*c=*a%*b;
return(4.0);
fun(int*,int*,int*)
B考生答案:
int*c
(13)下面程序段的功能是:
从键盘上输入两个字符串,对两个字符串分别排序;
然后将它们合并,合并后的字符串按ASCII码值从小到大排序,并删去相同的字符。
请填空。
fun(char*x,char*y,char*z)
{chart,*p;
p=z;
while(*x!
=′\0′&
*y!
=′\0′)
{t=*x<
*y?
*x++:
*y<
*x?
*y++:
【14】;
if(*p==′\0′)*p=t;
elseif(t!
=*p)*++p=t;
if(*x!
=*p)*++p=*x++;
elsex++;
if(*y!
=′\0′)while(*y!
=*p)*++p=*y++;
elsey++;
*++p=【15】;
sort(char*s)
{inti,j,k;
chart,*p;
p=s;
*p!
=′\0′;
k++)p++;
k-1;
for(j=i+1;
k;
if(s[i]>
s[j])
{【16】}}
{chars1[100],s2[100],s3[200];
%s"
s1);
s2);
sort(s1);
sort(s2);
s3[0]=′\0′;
fun(s1,s2,s3);
s3);
(*x++,*y++)
′\0′
C考生答案:
t=s[i];
s[I]=s[j];
s[j]=t;
(14)下面函数是一个求阶乘的递归调用函数。
intfun(intk)
{if(k==1)【17】;
elsereturn(【18】);
return1
k*fun(k-1)
(15)以下函数set用来建立一个带头结点的单向链表,新产生的结点总是插入在链表的末尾。
单向链表的头指针作为函数值返回,请填空。
structnode{chardata;
structnode
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言