南昌航空大学C语言程序设计考题_第1页
南昌航空大学C语言程序设计考题_第2页
南昌航空大学C语言程序设计考题_第3页
南昌航空大学C语言程序设计考题_第4页
南昌航空大学C语言程序设计考题_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

D、doublex=l.2E5.6:

C语言程序设计考题(一)

【答案】B

150分.写火”花13>分抄>・1、选择出合法的if语句(设intx,a,b,c:).

A、if(a=b)x++;

厥—三四五怠介阅卷

B、ifU=<b)x++;

号人C、if(a<>b)x++;

D、if(a=>b)x++;

分4020202050150【答案】A

【解析】A员然是赋值语句,但是在逻辑运算中自动将赋值语句的结果当作逻辑值,方

法是,如果赋值语句的结果是非零值则当作逻辑真,杏第当作逻辑线.C语言中关系运

算符有<(小于)、>(大于)、>=(大于等于)、<二(小于等于)、=二(等于)、!=(不等于)

等六种,可见其他的条件表达式中的关系符写惜了.

分5、有以下程序

^include<stdio.h>

■想口包括五大需分,单项选择圈.判断赵.埴空图.程序分析遐.编田题.请按要求在规定时间inainO

内作答。(

■考试中途f;能无箍诲场,否则视为放弃.号试过程中如遇问姮诜及时向监考老师反饿.intc;

while((c-gctchar())!-'\n*)

一、单项选择题(每小题2分,共40分)

{

1、若a为皿类型,且其值为2,则执行完表达式a+=a-=a*a后,a的值是_

switch(c->2,)

A、0

{

B、4

case0:case1:putchar(c+4);

C、-4case2:putchar(c*4);

D、6break;

【答案】。

case3:putchar(c*3);

2、与二进制数100101等值的十进制数是一default:putchar(c^2);

A,34break:

B,35

I

C,36

)

D、37

printf(*\n*):

【答案】

DI

、下列能正确定义且赋初值的语句是

3从笫一列开始输入以下数据,Vcr>代表一个回年符。2473<cr>程序的输出结果是

A、intnl=n2=l:

B,char099:

A、668977

C.floa-.f=f+l;

B、668966

C、66778777

D、6688T66char*p,s[256]:

【答案】AP=s:

6判断字符中a和b是否相等,应当使用。while<strcmp(s,*theend*'))

A、if(a==b)]

B,if(a=b)printf(*inputthestring:*):

C,if(s:rcmp(a,b))g£ts(s):

D、if(s:rcmp(a,b)—0)while(*p)putchar(*p++):

【答案】D)

7,下列正确的实型常址是.)

A、E3.4A、此程序循环接收字符串并输出.直到接收到字符牛“theend”为止

B、-12345B、此程序循环接收字符串,接收到字符串Mlheend"则输出,否则程序终止

C.2.2e8C、此程序循环接收字符串并输出,H到接收字符中“theend"为止,但因为代码

D、4有错误,程序不能正常工作

【答案】BD、此程序循环接收字符即并将其连接在一起,直到接收字符串“theend"为止,

【解析】实用常埴有两种书n形式:①小数形式,它由符弓、整数部分、小数点及小数输出连接在一起的字符申

部分组成:②指数形式,由十进制小数形式加上指数部分机成,其形式为十进制小数。【答案】C

指数或十边啊小敢1:指敢。注:e或I:后面的指数必须足累数,并旦?tc或1:的前面必11、数组inta[3][-1];共中错误的数组引用为

须有数字。国E中,选项Q中E的前面没有数字,因此错侯。选项。中0.8不是整数,A、a[0)[0]

因此错误。氐项D)中4是整型常属而不是实型常是。B、a⑴⑶

8、设有数据定义语句"inta[200];",下列数组元素引用中下标不越界的是。C、a[3][3]

A、a[-l]D、a[0]

B、a[20.]【答案】C

C,a[0]12、以下叙述中正确的是.

D,a[200]A、函数的形式参数不属于局部变at

【答案】CB、对于变fit而言,定义和说明这两个词实际上是同一个意思

9.c风格的任释*c风格的注释.也称块注释或多行注择,以开始,以C、在受合语句中不能定义变量

结束.D、全局变批的存储类别可以是脩态类

A、/♦和•/【答案】D

B、(和}【解析】声明变埴不分配空间,定义变量要分配空间,所以B选项错误。符合语句中可以

C、「和1定义变量.所以C诜项错误。函数的形参属于局部变所以R诜项错误

D、工和)13、以下关于typedcf的叙述错误的是________。

【答案】AR、用typedef可以增加新类型

10、时下述程序的判断中,正确的是.B、typ?def只是将己存在的类型用一一个新的名字来代表

mainOC、用typcde{可以为各种炎型说明•个新名,但不世用来为变M说明•个新名

D、用tmedef"为类型说明一个新名,通常可以增加程序的可读性【答案】C

【答案】A17、下列提述说明正确的是.

14、下列对等符中的定义中,错误的是—八、定义结构体时,它的每个成员的数据类型可以不同

A、charstr(7]="FORTRAN";B、不向结构体的成员名不能相同

B、charstrlJ="FORTRAN”;C、结构体定义时,其成员的数据类型不能是结构体本身

C、char*str="FORTRAN”;D、结构体定义时各成员项之间可用分号也可用逗号陷开

D、charstr口=(‘F','O','R','T,'R','A','N',0);【答案】A

【答案】A18、有以下程序:

15,下列程序的饰出结果是m<iin()

main()(

{intx=102,y=012:

doubled=3.2:printf("%2d,%2d\n".x.y);

intx,y:)

x=1.2:执行后输出结果是。

y=(x+3.8)/5.0:A、10,01

printfC%d\tr,d*y):B、02,12

C、102.10

D、02,10

B、3.2【答案】C

a019、已知:chars[100];inti;则引用数组元素的错误的形式是。

D、3.07A、s[i*-10]

【答案】CB、*(s*-i)

【解析】考查迎合的赋值表达式,[解虺要点]本题中,程序先执行语句x=1.2:,掇据C、*(讣s)

赋值运算的芟组转换规则.先将double型的常量1.2转换为int里,即收整为1,然后D、*((5++)+i)

将1赋值给变址x.接下来执行语句广(x「3.8)/5.0:根据运算符的优先级,先计算小括【答案】D

号内,再计仪除法,最后执行赋值运算.小括号内的运算过程:先判整型变量x的值120、下面说法正确的是________.

转换为double®1.0,然后与3.8进行加法运豫,得到中间结果4.8.接着进行除法运A、文件指针变量的欧是文件当前正在处理的字节地址

W4.8/5.0,其结果小于1.0,这里没有必要汁舞出精确值•因为接着进行赋值运算.赋B、文件指针变盘的值是文件中包含的字符个数

值号左边的变量y的类蟹为整型•于是对这个小于1.0的中间结果进行取整,结果为C、文件指针的类型是一种指针类型

。,于是变量y的值为0,d*y的值也为0.[考点链接]格式输出语句prinif的使用.D、文件指针的类型是结构体类型

16、以下for语环是.for(x=0.v=0:(v!=123)&&(x<4):x++)t答案】C

As无限药环【解析】文件指针变量的值是文件所在的地址,选项AB错误;文件指针也是一种指针,

B、循环次数不定属于•指针类型不是结构体类型,选项C正确,D错i吴:本题答案为C

C、执行4次

D、执行3次

i=j=x[O]:voidmainO

pO=pl=O;(

for(m=0;m<n;m++)charc;

(c=getchar();

if(xlmj>i)if(c>='a'&4c<="u"):

|elseif(c>=*v'&4c<=,z'):

i=x[n];putchtr(c):

pO二m;1

)

【答案】c=c+5|c=c-21

elseif(x[n]<j)

【解析】根据ASCII码规律,要使字母㈱环后移5位输iL从a-u均不存在何遂,但字

(

母v(ASCII码值为1⑻后移5位,则ASCII值为123,不是循环到a(ASCH值为97),

j=x[m]:

从而须执行c-c-2l,

pl=m:

}

3、以下程序的输出结果是_______°

)

mainO

t=x[pO];

(

x[pO]=x[n-l]:

char*p="abcdefgh*,*r;

x[n1]-1;long*q;

t=x[pl]:

q=(lorg*)p:

x[pl]=[H];

q++;

[15]=t:

r=(cher*)q;

}printf(飞s\rT,r);

mainO

)

{

inta[10],u;【答案】['efgh']

for(u-0;u<10:un)scanf(*^d.4a[u]);

4、当运行以下程序时,从选盘输入12345-l<cr>,则下面程序的运行结果是

f(a.10):

for(u=0:u<10:u++)printf(*%d*,a[u]):O

printfCXn");*include<stdio.h>

mainO

}

(

【答案】CxtO]','xtO]']intk=0.n;

do

2、以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如变成

,<*’变成.请在内填入正确的内容.scanf(*%d*.&n);

^include<stdio.h>

scanfr%s,a);

)printf("大写为:”);

while(n!=-1);for(i-0:i<=n;i++)

printfCk=%dn=M\n”,k,n);

)if(a<='z'&4a>="a')

a=a-32;

【答案】k=14n=-l

piintfa):

五、编程题(每小题分,共50分))

printf("\n小写为:*):

1、从键盘上输入一个2*3的矩阵,将其转秩后形成82的矩阵输出.(本题12分)for(i@i<=3;iT)

【答案】^include<stdio.h>

voidmainOprintf(*%c*.a);

linta[2][3],b[3][2],i,j;)

for(iM);i<2;i++))

for(j=0;j<3:j++)

scanf(*"W,&a[i][j]);3.题目描述

for(i=0:i<3:i+n某学校为鼓励学生取煤身体,要求学生周一到周五早晨在操场跑步.并进行刷卡记录.

for(j=0;j<2;j++)作为期末评优的依据,刷F;•机器中记录的数据格式为学号和刷卡时间,其中学号N为10

b[i][j]=a[j][i]:位数字,时间T格式为yyyymmddhhmmss读R程序确保每天不会多次记录同一名学生的

for(i=0:i<3:i++)装跑舱IK时间

{for(j=0:j<2:j++)要求:根据刷卡机器中记录的学生刷卡记录,按照学号升序统计学生咫胞次数

PIintf(*%5d*,b[i][j]):输入

printfCXn"):输入格式为每行两个数值,学号N与时间T之间有一个空格,

J读取输入直到输入结束(数据总量不超过100昭)

输出

输出格式为每行两个数值,学号以及相应的反跑次数,两苦之间有一个空格,样例输入

2、输入一行字符,将所有的小写字母转换成大写字母.(本题18分)2xxxxx69322xxxx311065532

2xxxxx?89('2xxxxl09070l56

【答案】大写字灯转换成小写字母,其氽字符不变.输出转变

2xxxxx986C2xxxx329063051

后的这行字符.

2xxxxx986G2xxxx305065217

~inclurli>"stdinh"

2xxxxx874£2xxxx305065656

样例输出

2xxxxx69321

2xxxxx789(1

2xxxxx87451if(stu[z].tiaes>0&&stu[z],w>0){

2xxxxx98602(本题20分)a[z]=stu[z].num:

b[z]=stu[z].times;

【答案】#include<stdio.h>

constintN-2000*5i:,

typedefstniclstudent{

for(irtr=D;r<i:r++){

intnua:frr(ints=0:s<i-r:s*+){

chartime[14];

if(a[s]>a[s+1]){

intti«es;u=a[s];

intw;

a[s]=a[s+1]:

}STU;

a[s+1]=u:

intmain()(

u=b[s];

inti,u.n.m=0;

floataver,sum;

STUstu[N]:

inta[N],b[N];

vhile(seanf(*%d%s*,&stu[i].num,stu[i].tine)!=ECF){

++L

if(b[l]>0){

intq=i;printf(*%d%d\n*,a[l],b[l]);

for(into=0:o<i:o++){

stu[o].w=1:

stu[o].times=1:

returrO;

)

for(intj=0;j<i:j++>{

for(intk=j+l;k<=i:

if(stu[j].nua=stu

stu[j].times+=l:

stu[k].timesW);

stu[k].w=0;

1

11

for(intz0:z<i+1:z++)[

C语言程序设计考即(二)D、!(a<=10)&&:(a>=15)

<attisoif.«W»JK.IZO»W>【答案】A

•1、若a和)均是整型变量并已正确赋值,正确的switch语句是,

题一一三四五总分阅卷

A、switch(a+b);...

号人B、switch(a+b*3.0)...

Cyswitcha...

分4020202050150D、switch(a%b)...

【答案】D

【解析】【命返目的】考查switch语句的用法.

得【解题要点】switch后的括号部分只能返回这几种类型的值:int,byte,short和

char.

分【情解分析】选项A)switch(u+b):中多了一个“:”号,注意观察.选项B)s,itch(a

+b*3.0)中括号的值不能为浮点星。选项。switcha中switch后的判断部分必须用括

■迎H包括五大部分,单项选抨1S,判斯迎,填空圆,程序分折题.编程选,谙按变求在规定时间号括起来。

内作答.5、以下是死循环的程序段是.

■号试中途f能无辎离场.否则视为放弃.考试过科中如遇向越请及时向监考老师反制.A、for(i=I;:)if(++i%2==0)continue:if(++i%3==0)break:}

一、单项选择题(每小题2分、共,10分)B、i=32767;do{if(i<0)break:}whilc(++i);

C、for<i-l;;)<10)continue;

1、如果逻辑与(and)运算的结果为“其二与它所连接的两个条件必东是.

D、i=l;while(i—);

A、前一个为“我”,后一个为“假”

【答案】C

B、前一个为“为T,后一个也为“假”

6、c语言程序的三种基本结构是________。

C,前一个为真,后一个也为其

A、循式结构转移结构顺序结构

D、前一个为假,后一个为其

B、递心结构循环结构转移结构

【答案】C

C、倏套结构递归结构顺序结构

2.c语言提供的合法的数据类型关犍字是_________.

D、顺序结构选择结构循环结构

A、Double

【答案】D

B、shor:

7,与十进制数245等值的二进制数是・

C、integer

A、11111110

D、Char

B、11101111

【答案】B

C、11111011

3、设a为整型变量,不能正确表达数学关系10<a<15的c语言表达式是

D、11101110

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论