江苏大学大一c语言期末复习题汇总_第1页
江苏大学大一c语言期末复习题汇总_第2页
江苏大学大一c语言期末复习题汇总_第3页
江苏大学大一c语言期末复习题汇总_第4页
江苏大学大一c语言期末复习题汇总_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐江苏大学大一c语言期末复习题汇总挑选题1.下列字符序列中,不行用作C语言标识符的是()。

A.abc123B.C._123_D._ok

2.请选出可用作C语言用户标识符的一组标识符()。

A.voidB.a3_b3C.ForD.2a

define_123-abcDO

WORDIFCasesizeof

3.不属于C语言关键字的是()。

A.intB.breakC.whileD.character

4.以下不能定义为用户标示符的是()。

A.scanfB.VoidC._3com_D.int

5.C语言程序的基本单位是()。

A.程序行B.语句C.函数D.字符

6.以下说法中正确的是()。

A.C语言程序总是从第一个定义的函数开头执行

B.在C语言程序中,要调用的函数必需在main()函数中定义

C.C语言程序总是从main()函数开头执行

D.C语言程序中的main()函数必需放在程序的开头部分

7.以下选项中,合法的用户标识符是()。

A.longB._2abcC.3dmaxD.

8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示

的字符常量’\101’是()。

A.字符AB.字符aC.字符cD.非法的常量

9.以下选项中,正确的字符常量是()。

A.”F”B.’\\’’C.’W’D.’’

10.下列变量定义中合法的是

A.short_a=;B.doubleb=1+;

C.longdo=0xfdaL;D.float2_and=1-e-3;

11.为了避开嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

12.下列运算符中优先级最高的是()。

A.=’a’)&(s=’a’)&&(s=s)

14.已知x=45,y=’a’,z=0;则表达式(x>=z

elseif(x==0)y=0;elsey=-1;B.y=0;

if(x>0)y=1;

elseif(x=0)

if(x>0)y=1;elsey=-1;D.if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;

16.已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是()。

if(a>b)

c=a;a=b;b=c;

A.a=1,b=2,c=3

B.a=2,b=3,c=3

C.a=2,b=3,c=1

D.a=2,b=3,c=217.以下程序的运行结果是()。

#include””main(){inta=1;

if(a++>1)printf(”%d\n”,a);elseprintf(”%d\n”,a--);}

A.0

B.1

C.2

D.318.执行以下程序段后,变量x,y,z的值分离为()。inta=1,b=0,x,y,z;

x=(--a==b++)?--a:++b;y=a++;z=b;

A.x=0,y=0,z=0

B.x=-1,y=-1,z=1

C.x=0,y=1,z=0

D.x=-1,y=2,z=119.以下程序的输出结果是()。

#include””

main()

{

inta=5,b=4,c=6,d;

printf(”%d\n”,d=a>b?a>c?a:c:b);

}

A.5B.4C.6D.不确定20.执行下列程序,输入为3的数出结果是()。

#include””

main()

{

intk;

scanf(”%d”,

switch(k)

{case1:printf(”%d\n”,k++);

case2:printf(”%d\n”,k++);

case3:printf(”%d\n”,k++);

case4:printf(”%d\n”,k++);

break;

default:printf(”Full!\n”);

}

}

A.3B.4C.3D.4

5421.有如下程序,写出该执行结果()。

#include””

main()

{

floatx=,y;

if(x100)break;

}

B.for(;;);

k=1000;

do{++k;}while(k>=10000);

s=36;

while(s);

--s;

25.下面程序的运行结果为()。

main()

{intn;

for(n=1;n0||E

main()

{inti;charc;

for(i=0;i代表换行符。

u

w

xsta

www

xxsxsta

28.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应

该为()。

D.非0

29.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式

的值应为()。

D.非0

30.下列程序的输出为()。

#include

main()

{inti=0,j=0,a=6;

if((++i>0)||(++j>0))a++;

printf("i=%d,j=%d,a=%d\n",i,j,a);

}

=0,j=0,a=6=1,j=1,a=7=1,j=0,a=7=0,j=1,a=7

31.下列程序段的输出结果为()。

main()

{intx=3;

do

{printf("%3d",x-=2);}

while(!(--x));}

0-2D.死循环

32.以下程序运行后,输出结果是()。

main()

{

intn[5]={0,0,0},i,k=2;

for(i=0;i

main()

{

int*p,*q,a,b;

p=

printf("inputa:");

scanf("%d",*p);

}

A.*p表示的是指针变量p的地址

B.*p表示的是变量a的值,而不是变量a的地址

C.*p表示的是指针变量p的值

D.*p只能用来说明p是一个指针变量

50.以下不能正确举行字符串赋初值的语句是()。

A.charstr[5]="good!";

B.char*str="good!";

C.charstr[]="good!";

D.charstr[5]={'g','o','o','d'};

51.若有说明语句:chars[]="itisaexample.",*t="itisaexample.";则以下不正确的

讲述()。

A.s表示的是第一个字符i的地址,s+1表示的是其次个字符t的地址

B.t指向另外的字符串时,字符串的长度不受限制

C.t变量中存放的地址值可以转变

D.s中只能存放16个字符

52.下列程序的输出结果是()。

#include""

main()

{

inta[]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%d\n",*p+9);}

A.0

B.1

C.10

D.953.以下不是C语言的特点的是()。

A.语言简洁紧凑

B.能够编制出功能复杂的程序

C.C语言可以直接对硬件操作

D.C语言移植性好

54.正确的C语言标识符是()。

A._buy_2

B.2_buy

C.?_buy

D.buy?55.下列符号中,不属于转义字符的是()。

A.\\

B.\0xAA

C.\t

D.\056.是C语言提供的合法关键字的是()。

A.Float

B.signed

C.integer

D.Char57.一个C程序是由()。

A.一个主程序和若干子程序组成E.一个或多个函数组成

B.若干过程组成

C.若干子程序组成

58.下列说法中,错误的是()。

A.每个语句必需独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号

B.每个函数都有一个函数头和一个函数体,主函数也不例外

C.主函数只能调用用户函数或系统函数,用户函数可以互相调用

D.程序是由若干个函数组成的,但是必需有、而且只能有一个主函数59.C编译程序是()。

A.C程序的机器语言版本

B.一组机器语言指令

C.将C源程序编译成目标程序

D.由创造厂家提供的一套应用软件60.以下选项中,合法的实型常数是()。

A.

B.E-3

C.2E0

D.61.以下选项中,合法转义字符的选项是()。A.’\\’B.’\018’C.’xab’D.’\abc’62.以下选项中可作为C语言合法整数的是

A.10110

BB.0386

C.0Xffa

D.x2a2

63.与数学式子1

29xxn

对应的C语言表达式是()。

A.9*x^n/(2*x-1)

B.9*x**n/(2*x-1)

C.9*pow(x,n)*(1/(2*x-1))

D.9*pow(n,x)/(2*x-1)64.设a=5,b=6,c=7,d=8,m=2,n=2,则执行(m=a>b)&&(n=c>d)后n的值为()。

A.1

B.2

C.3

D.4

65.规律运算符两侧运算对象的数据类型()。A.只能是0或1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

66.能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是

()。

A.(x>=-58)}elsex=-10;

A.??

?≠≥=

main()

{inti,j,k=0,m=0;

for(i=0;i

main()

{inti=0,j=0,a=6;

if((++i>0)||(++j>0))a++;

printf("i=%d,j=%d,a=%d\n",i,j,a);

}

=0,j=0,a=6=1,j=1,a=7=1,j=0,a=7=0,j=1,a=7

82.以下关于数组的描述正确的是()。

A.数组的大小是固定的,但可以有不同的类型的数组元素

B.数组的大小是可变的,但全部数组元素的类型必需相同

C.数组的大小是固定的,全部数组元素的类型必需相同

D.数组的大小是可变的,可以有不同的类型的数组元素

83.假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在

内存中所占字节数是()。

A.3

B.6

C.10

D.20

84.以下程序的输出结果是()

main()

{

inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A.258

B.741

C.852

D.369

85.以下程序运行后,输出结果是()。

main()

{

inty=18,i=0,j,a[8];

do

{a[i]=y%2;i++;

y=y/2;

}while(y>=1);

for(j=i-1;j>=0;j--)printf("%d",a[j]);

printf("\n");

}

A.10000

B.10010

C.00110

D.10100

86.若二维数组c有m列,则计算任一元素c[i][j]在数组中的位置的公式为()。

(假设c[0][0]位于数组的第一个位置)

A.i*m+j

B.j*m+i

C.i*m+j-1

D.i*m+j+1

87.若有数组定义:chararray[]="China";则数组array所占的空间为()。

A.4个字节

B.5个字节

C.6个字节

D.7个字节

88.若有定义和语句:

chars[10];s="abcd";printf("%s\n",s);

则结果是(以下

代表空格)()。

└┘

D.编译不通

A.输出abcd

B.输出a

C.输出abcd

└┘└┘└┘└┘

89.下面程序运行后,输出结果是()。

main()

{

charch[7]={"65ab21"};

inti,s=0;

for(i=0;ch[i]>='0'i+=2)

s=10*s+ch[i]-'0';

printf("%d\n",s);

}

A.12ba56

B.6521

C.6

D.62

90.C语言是由()构成。

A.主程序和子程序

B.主函数和若干子函数

C.一个主函数和一个其他函数

D.主函数和子程序

91.关于return语句,下列正确的说法是()。

A.在主函数和其他函数中均要浮现

B.必需在每个函数中浮现

C.可以在同一个函数中浮现多次

D.只能在除主函数之外的函数中浮现一次

92.在C语言的函数中,下列正确的说法是()。

A.必需有形参

B.形参必需是变量名

C.可以有也可以没有形参

D.数组名不能作形参

93.以下所列的各函数首部中,正确的是()。

A.voidplay(var:Integer,varb:Integer)

B.voidplay(inta,b)

C.voidplay(inta,intb)

D.Subplay(aasinteger,basinteger)

94.若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中

实参的个数是()。

95.以下程序的输出结果是()。

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{

inta=31;

fun(5,2,a);

printf("%d",a);

}

A.0

B.29

C.31

D.无定值

96.若有说明:inta=2,*p=,则以下非法的赋值语句是()。

A.p=q;B.*p=*q;C.a=*q;D.q=a;

97.已有定义inta=2,*p1=下面不能正确执行的赋值语句是()。

A.a=*p1+*p2;B.p1=a;C.p1=p2;D.a=*p1*(*p2);

98.若有说明语句:inta,b,c,*d=

B.scanf("%d%d%d",a,b,d);

C.scanf("%d%d%d",

D.scanf("%d%d%d",a,b,*d);

99.若有说明:int*p,a=1,b;以下正确的程序段是()。

A.p=B.scanf("%d",

scanf("%d",*p=b;

C.p=D.p=

scanf("%d",*p);*p=a;

100.下面程序的功能是从输入的十个字符串中找出最长的那个串。请在________处填空。

#include""

#include""

#defineN10

main()

{

chars[N][81],*t;

intj;

for(j=0;j

main()

{charc;

while((c=getchar())!='?')putchar(++c);

}

答案:rxfsu

3.如果输入‘1’,‘2’,‘3’,‘4’,程序运行输出的是________。

#include

main()

{charc;

inti,k;

k=0;

for(i=0;i='0'}

k=k*10+c-'0';

}

printf("k=%d\n",k);

}

答案:1234

4.阅读下列程序:

#include

main()

{

inti,j,row,column,m;

staticintarray[3][3]={{100,200,300},{28,72,-30},{-850,2,6}};

m=array[0][0];

for(i=0;i0)s=a+b;

if(a0)

if(c0)w=a-b;

elset=c;

printf(”%d%d%d”,s,w,t);

}

答案:200

12.以下程序运行的结果________。

#include

#include

main()

{inti,k,m,n=0;

for(m=1;mk)

{printf("%2d",m);

n++;

}

}

}

答案:1357

13.以下程序运行的结果是_________。

#include

main()

{inta,b;

for(a=1,b=1;a=20)break;

if(b%3==1)

{b+=3;

continue;

}

b-=5;

}

printf("%d\n",a);

}

答案:8

14.以下程序运行后,输出结果是________。

main()

{

charcf[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

答案:"BBB"

15.以下程序运行后,输出的结果是________。

#include

#include

main()

{

charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k

f(inb[],intn)

{

inti,r;

r=1;

for(i=0;i

main()

{

charss[10]="12345";

strcat(ss,"6789");

gets(ss);printf("%s\n",ss);

}

答案:ABC

20.当运行以下程序时,从键盘输入:apple↙

tample↙

则下面程序的运行结果是________。

#include""

main()

{

chars[80],*t;

t=s;

gets(t);

while(*(++t)!='\0')

if(*t=='a')break;

else{t++;gets(t);}

puts(t);

}

答案:ample

21.下面程序段的运行结果是________。

#include""

main()

{

chars[]="example!",*t;

t=s;

while(*t!='p')

{printf("%c",*t-32);

t++;}

}

答案:EXAM

22.对以下程序:

当输入6514时,其运行结果是【1】。

当输入1463时,其运行结果是【2】。

当输入25125时,其运行结果时【3】。

#include

main()

{intm,n;

scanf("%d%d",

while(m!=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

printf("m=%d\n",m);

}

答案:=1,=7,=25

23.以下程序运行后,输出结果是________

#include

voidmain()

{chararr[2][4];

strcpy(arr,"you");strcpy(arr[1],"me");

arr[0][3]='

printf("%s\n",arr);

}

答案:you

for(I=1;【1】;I++)

for(j=0;j

#include

main()

{intI,k,m;

scanf("%d",

k=sqrt(【1】);

for(I=2;I=k+1

3.以下程序完胜利能是:计算两个3*4阶矩阵相加,并打印出结果。请填空。

#include

main()

{

inta[3][4]={{3,-2,1,2},{0,1,3,-2},{3,1,0,4}};

intb[3][4]={{-2,3,0,-1},{1,0,-2,3},{-2,0,1,-3}};

inti,j,c[3][4];

for(i=0;i0)【2】;

}

printf("\nThefirststringis:%s\n",temp);

}

答案:【1】gets(temp)【2】strcpy(temp,str)

5.下面pi函数的功能是,按照以下公式返回满足精度e要求的p的值。按照以下算法

补足所缺语句。

doublepi(doubleeps)

{

doubles=,t=;

intn;

for(【1】;t>eps;n++)

{s+=t;

t=n*t/(2*n+1);

}

return*【2】);

}

答案:【1】n=1【2】s

6.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。

#defineN10

main()

{

inti,flag;

for(flag=1;flag==1;)

{scanf("%s",str);

flag=0;printf("\n");

}

sort(【1】);

for(i=0;istr[i+1])

{t=str[i];【2】;【3】;}

}

答案:【1】str【2】str[i]=str[i+1]【3】str[i+1]=t7.下面程序段是把从终端读入的一行字符作为字符串放在字符数组中,然后输出。请

填空。

#include""

#include""

main()

{

intm;

chars[80],*t;

for(m=0;m

#include

main()

{

intnum[26],i;charc;

for(i=0;i

main()

{

chars[81];

inti,c,num=0,word=0;

【1】;

for(i=0;(c=s[i])!=’\0’;i++)

if(c==32)【2】;

elseif(word==0){word=1;【3】;}

printf("thereare%dwords.\n",num);

}

答案:【1】gets(s)【2】word=0【3】num++

13.用选择法对数组进行由小到大排序。

voidsort(n,array)

【1】;

{

inti,j,k,t;

for(i=0;iarray[j])k=j;

t=array[i];

array[i]=array[k];

array[k]=t;

}

温馨提示

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

评论

0/150

提交评论