版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1单元
C语言基础知识一、单项选择题1.
是组成C语言程序基本单位。A.函数
B.过程
C.子程序
D.子例程2.以下叙述中正确是______。A.组成C程序基本单位是函数
B.能够在一个函数中定义另一个函数C.main()函数必须放在其它函数之前D.全部被调用函数一定要在调用之前进行定义3.下述正确C语言常量是
。A.E2
B.1.5E2.3
C.5.OE
D.3e-34.以下计算机语言中,CPU能直接识别是__
____。A.自然语言
B.高级语言
C.汇编语言
D.机器语言5.设intx=1,y=1;表示式(!x||y--)值
。A.0
B.1
C.2
D.-16.
是C语言提供正当数据类型关键字。A.Float
B.signed
C.integer
D.Char7.不正当常量是
。A.’\2’
B.""
C.‘’
D."\486"8.以下选项中正当实型常数是______。A.5E2.0B.E-3C..2E0D.1.3E9.以下选项中正当用户标识符是______。A.longB._2TestC.3DmaxD.A.dat10.在以下各组标识符中,正当用户标识符是
(1)
、(2)
、
(3)
。(1)A.B0l
B.table_1
C.0_t
D.k%int
t*.1
W10
point(2)A.Fast_
B.void
C.pb1
D.〈book〉Fast+Big
abs
fabe
beep(3)A.xy_
B.longdouble
C.*p
D.CHAR变量1
signed
history
Flaut11.与十进制511等值十六进制数为______。A.1FFB.2FFC.1FED.2FE12.英文大写字母BASCII码为42H,英文小写字母bASCII码为______。A.43H
B.84H
C.74H
D.62H13.已知大写字母AASCII码是65,小写字母aASCII码是97,则用八进制表示字符常量'\101'是______。A.字符AB.字符aC.字符eD.非法常量14.属于正当C语言长整型常量是
。A.5876273
B.OL
C.2E10
D.(long)587627315.在C语言中,设int型占2字节,以下不正确int型常数为
。A.32768
B.0
C.037
D.0xaf16.在C语言中不一样数据类型长度是
。
A.固定
B.由用户自己定义
C.任意
D.与机器字长关于17.在通常微机上C语言中,int类型数据占用
(1)
个字节存放;unsigned
int类型数据占用
(2)
个字节存放;short类型数据占用
(3)
个字节存放;long类型数据占用
(4)
个字节存放。A.1
B.2
C.4
D.818.以下四组(八进制或十六进制)常数中,正确一组是
。A.016
0xbf
0017
B.0abc
017
0xaC.010
x11
Oxl6
D.0A12
7FF
-12319.在C语言中,正当字符常数是
。A.’\084’
B.’\x42’
C.’\84’
D.”\0”20.以下不正确转义字符是
。A.‘\\’
B.’\’’
C.‘074’
D.’\0’21.以下四个叙述中,错误是
。A.在C程序中,不论是整数还是实数,都能被准确地表示
。B.在C程序中,变量名代表存放器中一个位置C.静态变量生存期与整个程序运行期相同D.C语言中变量必须先说明后引用22.关于下述语句输出判断中,正确是
。
int
x=0xafffc;printf(“%d”,x);A.赋值非法
B.输出值不确定
C.输出值为afff
D.输出值-423.关于下述语句输出判断中,正确是
。charx=’\xeO’;printf(“%x”,x);A.赋值非法
B.输出值不确定
C.输出值为-32
D.输出值为22424.下述语句输出为
。int
x=-1;printf(“%d,%u,%o”,x,x,x);A.-1,-1,-1
B.-1,32767,-177777
C.-1,32768,177777
D.-1,65535,17777725.下述语句输出为
。intx=2.5555555;floaty=2.5555555;printf(“%d,%f”,x,y);A.格式不匹配,错误输出
B.2,2.555556
C.3,2.555555
D.3,2.55555626.在C语言中,要求参加运算数必须是整数运算符是
。A./
B.!
C.%
D.==27.以下语句中,符合语法赋值语句是
。A.a=7+b+c=a+7;
B.a=7+b++=a+7
C.a=7+b,b++,a+7
D.a=7+b,c=a+728.下述程序输出结果是
。#include<stdio.h>voidmain(
){
inta=2;a%=4-1;printf(“%d,”,a);a+=a*=a-=a*=3;printf(“%d”,a);}A.2,O
B.1,O
C.-1,12
D.2,1229.下述正确语句是
。A.intx=y=z=0;
B.intz=(x+y)++;
C.x=+3==2;
D.d%=2.5;30.下述程序输出是
。#include<stdio.h>voidmain(
){
inta=011,b=101;printf(“\n%x,%o”,++a,b++);}A.12,145
B.9,144
C.a,145
D.a,531.以下非法赋值语句是______。A.n=(i=2,++i).;B.j++;C.++(i+1);D.x=j>0;32.以下语句错误是
。A.x=sizeofint;
B.x=sizeof(3.14);C.printf("%d",a=a+1,b--,c+1);
D.printf("%d",++x,x++);33.对下述程序段正确描述是
。(注:题中□表示空格,以下同)intx=1234;printf("ABS(x)=|%-08d|",x);A.输出为ABS(x)=|-0001234|
B.输出为ABS(x)=|0001234|C.输出为ABS(x)=|1234□□□□|
D.输出格式描述非法,无输出34.下面程序输出结果是
。#include<stdio.h>voidmain(
){
int
x=02,y=3;printf("x=%%d,y=%%d",x,y);}A.x=2,y=3
B.x=%2,y=%3
C.x=%%d,y=%%d
D.x=%d,y=%d35.设a和b均为double型常量,且a=5.5、b=2.5,则表示式(int)a+b/b值是______。A.6.500000B.6C.5.500000D.6.00000036.下述程序
。#include<stdio.h>voidmain(
){
int
a=1234;float
b=123.456;double
c=12345.52345;printf("\n%2d,%2.1f,%2.1f",a,b,c);}A.输出格式中位数不够,无输出
B.输出结果为12,12.4,12.5C.输出结果为1234,123.5,12345.5
D.输出结果为1234,123.4,1234.537.下述程序
。#include<stdio.h>voidmain(
){
long
a=0xabcdef;double
b=1.0E40;printf("\n5.2e,%-6x",b,a);}A.因为类型不符,不产生输出
B.输出1.0e+40.cdef□□C.输出1.Oe+40,abcdef
D.有输出,但值与B.,C.皆不相同38.已知字母AASCII码值是65,以下程序
。#include<stdio.h>voidmain(
){
chara='A';intb=20;printf("%d,%o",(a=a+1,a+b,b),a+'a'-'A',b);}A.表示式非法,输出零或不确定值
B.因输出项过多,无输出或输出不确定值C.输出结果为20,141
D.输出结果为20,141,20二、填空题1.经过下述赋值后,变量x数据类型是
。intx=2;doubley;y=(int)(float)x;2.下述程序输出是
。#include<stdio.h>voidmain(
){intx=-2345;floaty=12.3;printf("%6D,%06.2F",x,y);}3.下述程序执行结果是
。#include<stdio.h>voidmain(
){printf("\n%s","\tab\%L"\’\060\084\\");}4.char型常量在内存中存放是
码值。5.’\72’在内存中占
(1)
个字节,"\72"在内存中占
(2)
个字节。6.表示式5%(-3)值是
(1)
,表示式-5%(-3)值是
(2)
。7.定义:double
x=3.5,y=3.2;则表示式(int)x*0.5值是
(1)
,表示式y+=x++值是(2)
。8.定义:int
m=5,n=3;则表示式m/=n+4值是
(1)
,表示式m=(m=1,n=2,n-m)值是(2)
,表示式m+=m-=(m=1)*(n=2)值是
(3)
。若再进行下述赋值:m=1,2,n++;则m值是
(4)
,n值是(5)
。9.阅读下述程序,说明其输出结果。请填空。#inetude<stdio.h>voidmain(){intn=3,b=4;printf("%d\n',a=a+1,b+a,b+1);
\*输出结果
(1)
*/printf("%d\n',(a=a+1,b+a,b+1));
\*输出结果
(2)
*/}10.设有以下定义,并已赋于了确定值:
char
w;int
x;float
y;double
z;
则表示式w*x+z-y所求得值数据类型为
。11.设有intx=11;,则表示式(x++*1/3)值为
。12.设已定义intx=1;y=1,则表示式(!x||y--)值是
。13.设x为int变量,与逻辑表示式!x等价最简单C语言关系表示式为
。第2单元
次序结构程序设计一、单项选择题1.指出以下不正确赋值语句是____________。A.a++
B.a==7
C.a+=7
D.a=1,b=12.若有以下程序,执行后输出结果是__________。main(){
intk=2,i=2,m;
m=(k+=i*=k);
printf(“%d,%d\n”,m,i);}A.8,6
B.8,3
C.6,4
D.7,43.以下程序输出结果是________。main(){inta=5,b=4,c=6,d;
printf(“%d\n”,d=a>b?(a>c?a:c)(b));
}A.5
B.4
C.6
D.不确定4.设有定义:longx=-123456L;则以下能够正确输出变量x值语句是_______。A.printf(“x=%d\n”,x)
B.printf(“x=%ld\n”,x)C.printf(“x=%8dl\n”,x)
C.printf(“x=%LD\n”,x);5.以下程序输出结果是_________。main(){intk=17;
printf(“%d,%do,
%x\n”,k,k,k);
}A.17,021,0x11
B.17,17,17
C.17,0x11,021
D.17,21,116.以下程序输出结果是:__________。main(){
inta=2;
a%=4-1;
printf(“%d”,a);
a+=a*=a-=a*=3;
printf(“%d”,a);
}A2,0
B1,0
C–1,12
D2,127.设整型变量n值为2,执行语句“n+=n-=n*n”后,n值是_______。
A.0
B.2
C.-4
D.48.指出以下语句中有实际意义语句是___________。A.a||b;
B.a!=b;
C.a+=b;
D.getchar(a);9.执行以下程序时输出结果是________。main(){intx,y;x=13;y=5;printf(“%d”,x%=(y/=2));
}A.3
B.2
C.1
D.010.若已定义x和y为double类型,则表示式x=1,y=x+3/2值是______。A.1
B.2
C.2.0
D.2.511.若运行时x输入12,则以下程序输出结果是________。main(){
intx,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%d\n”,y);
}A.0
B.22
C.12
D.1012.下面程序输出结果是_______。main(){
inta=-1,b=4,k;
k=(++a<0)&&!(b--<=0);
printf(“%d%d%d\n”,k,a,b);
}A.104
B.103
C.003
D.00413.下面程序输出结果是________。#include<stdio.h>main(){
intk;
k=22;printf(“%o\n”,k);
}A.26
B.25
C.24
D.2314.设x,y均为int类型变量,则以下不正确函数调用语句为_______。A.getchar();
B.putchar(‘\108’);C.scanf(“%d%*2d%d”,&x,&y);
D.putchar(‘\’’);15.下面程序输出结果为_______。main(){
charc1=’6’,c2=’0’;
printf(“%d%d%d\n”,c1,c2,c1-c2);}A.因输出格式不正当,输出犯错信息
B.54,48,6
C.6,0,7
D.6,0,616.下面程序输出结果是_______。main(){
inta,b,d=241;
a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”a,b);
}
A.6,1
B.2,1
C.6,0
D.2,017.若有下面程序,执行后输出结果是________。
main(){
intm=0xabc,n=0xabc;m-=n;printf(“%x\n”,m);
}A.0x0
B.0X0
C.0
D.0XABC18.有下面程序,若从键盘上输入:10A10<回车>,则输出结果是_______。
main(){intm=0,n=0;
charc=’a’;scanf(“%d%c%d”,&m,&c,,&n);printf(“%d,%c,%d\n”,m,c,n);
}A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,019.有下面程序,执行后输出结果是______。main(){
inti=1,j=1,k=2;
printf(“%d,%d,%d\n”,++i,j++,++k);
}
A.1,1,2
B.2,2,1
C.2,2,2
D.2,1,3二.分析以下程序,写出输出结果。1.#include“stdio.h”main(){intx=1,y=1,a,b;printf("%d\n",!x||y--);printf("%d",(a=2)&&(b=-2));x=l,y=-1;printf("%d\n",(x--&++y));a=1;x=2;y=3;b=4;printf("%d\n",a<x?a:y<x?y:b);}2.#include“stdio.h”main(){intx,y,z;x=y=z=0;++x||++y&&++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);++x&&++y||++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);++x&&++y&&++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);x=y=z=1;++x||++y&&++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);++x&&++y||++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);++x&&++y&&++z;printf("x=%d\ty=%d\tz=%d\n",x,y,z);
}3.#include“stdio.h”main(){chara;a=’H’-‘A’+’0’;printf(“%c\n”,a);
}4.#include“stdio.h”main(){
inta=1,b=1;
a+=b+=1;
{
inta=10,b=10;
a+=b+=10;
printf("b=%d",b);
}
a*=a*=b*10;
printf("a=%2d\n",a);}5.#include“stdio.h”main(){
inta=1,b=1,c=1;
printf("%d,%d,%d\n",a,b,c);
a+=b+=++c;
printf("%d,%d,%d\n",a,b,c);
printf("%d,%d,%d\n",a++,--b,++c);
printf("%d,%d,%d\n",a,b,c);}三、编程题1.变量a、b中各存有一个整数,交换两数后输出。2.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各有多少只?3.从键盘输入一个字符,输出这字符ASCII码值。4.编写程序,依照本金a、存款年数n和年利率p计算到期利息。【提醒】⑴到期利息公式a*(1+p)n–a;⑵ab次方计算公式为exp(b*ln(a))。5.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆体积。用scanf输入数据,编程计算结果,保留二位小数。。6.用getchar()函数读入一个字符,输出读入字符前一个字符和后一个字符。7.从键盘上输入一个ASCII码值,输出对应字符。第3单元
分支结构程序设计一、单项选择题1.下面程序运行后,假如从键盘上输入5,则输出结果是_______。main(){intx;
scanf(“%d”,&x);
if(x--<5)printf(“%d\n”,x);elseprintf(“%d”,x++);
}A.3
B.4
C.5
D.62.下面程序输出结果是_______。main(){intm=5;
if(m++>5printf(“%d\n”,m);elseprintf(“%d\n”,m--);
}A.7
B.6
C.5
D.43.下面程序输出结果是________。main(){intx=3,y=0,z=0;
if(x==y+z)
printf(“****”);
else
printf(“####”);
}A.有语法错误,不能经过编译
B.输出****C.能够经过编译,不过不能经过连接,因而不能运行
D.输出####4.执行以下语句后,变量b值是________。intx=35;charz=’A’;intb;b=((x&15)&&(z<’a’));A.0
B.1
C.2
D.35.以下关于switch语句和break语句描述中,正确是_______。A.在switch语句中必须使用break语句
B.在switch语句中,能够依照需要使用或不使用break语句C.break语句只能用于switch语句中
D.break语句是switch语句一部分6.下面程序输出结果是_______。main(){intx=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(“%d%d\n”,x,y);
}A.10
10
B.10
20
C.20
10
D.20
07.有下面程序,执行后输出结果是_______。main(){inta=5,b=4,c=3,d=2;
if(a>b>c)
printf(“%d\n”,d);
elseif((c-1>=d)==1)
printf(“%d\n”,d+1);
else
printf(“%d\n”,d+2);
}A.2
B.3
C.4
D.编译时有错,无结果。8.若a,b,c1,c2,x,y均为整型变量,正确switch语句是______。A.switch(a+b);
B.switch(a*a+b*b);
{case1:y=a+b;break;
{case3:
case0:y=a-b;break;
case1:y=a+b;break;
}
case3:y=b-a;break;
}
C.switch
a
D.switch(a-b);
{casec1:y=a-b;break;
{default:y=a*b;break;
casec2:x=a*b;break;
case3:case4:x=a+b;break;
default:x=a+b;
}
case10:case11:y=a-b;break;
}9.有一函数:,以下程序段中不能依照x值正确计算出y值是____。A.if(x>0)
y=1;
B.y=0;
elseif(x==0)y=0;
if(x>0)
y=1;
elsey=-1;
elseif(x<0)y=-1;
C.y=0;
D.if(x>=0)
if(x>=0)
if(x>0)y=1;
if(x>0)y=1;
elsey=0;elsey=-1;
elsey=-1;10.有下面程序,程序运行后输出结果是________。main(){inta=15,b=21,m=0;switch(a%3)
{
case0:m++;break;
case1:m++;
switch(b%2){
default:m++;
case0:m++;break;
}
}
printf(“%d\n”,m);
}
A.1
B.2
C.3
D.411.C语言用_______表示逻辑“真”值。
A.true
B.t或y
C.非零整型值
D.整型值012.为了防止嵌套条件分支语句if—else二义性,C语言要求:C程序中else总是与_____组成配对关系。
A.缩排位置相同if
B.在其之前未配正确if
C.在其之前未配正确最近if
D.同一行上if13.执行下面程序,输入为1输出结果是__⑴__,输入为3输出结果为__⑵__。#include“stdio.h”main(){
intk;
scanf(“%d”,&k);
switch(k)
{
case1:printf(“%d\n”,k++);
case2:printf(“%d\n”,k++);
case3:printf(“%d\n”,k++);
case4:printf(“%d\n”,k++);break;delfault:
printf(“Full!!
\n”);}
}⑴A.1
B.2
C.2
D.13
24
35
4⑵A.3
B.4
C.3
D.4
4
514.若从键盘输入58,则下面程序输出结果是_____________。main(){inta;scanf("%d",&a);if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);}A.585858
B.5858
C.58
D.015.运行两次下面程序,假如从键盘上分别输入6和4,则输出结果是
________。main()
{
intx;
scanf(“%d”,&x);
if(x++>5)printf(“%d”,x);else
printf(“%d\n”,x--);}A.7和5
B.6和3
C.7和4
D.6和4二、读程序1.改过以下程序中错误语句。#include“stdio.h”main(){
inta;
printf("Inputaninteger:");
scanf("%d",a);
if(a=1)
printf("One\n");
elseif(a<>2)
printf("Many\n")
elseprintf("Two\n");
}
2.写出下面程序功效。#include“stdio.h”main(){
charch;
scanf("%c",ch);
if(ch>=’A’&&ch<=’Z’)
ch=ch-32;
printf(“%c”,ch);
}3.写出以下程序输出结果。#include“stdio.h”main(){intx=11,y=1;
if(x%2==1)
x+=5;
else
x-=3;y+=5;printf(“%d
%d”,x,y);}4.写出以下程序输出结果(执行后输入数据3)。#include“stdio.h”main(){intk;
scanf(“%d”,k);
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”);
}
}5.写出以下程序输出结果。#include“stdio.h”main(){intx=6;if(x++>7)printf(“%d\n”,x);elseprintf(“%d\n”,x--);}6.写出以下程序输出结果。#include“stdio.h”main(){
intk=2,j=3;
if(k+j<10)
{k=5;j=k;}
printf(“%d
%d”,k,j);
}7.依照下面程序,写出对应数学表示式。
#include“stdio.h”
main()
{intx,y;scanf(“%d”,&x);if(x<0)y=-1;elseif(x==0)
y=0;
else
y=1;printf(“%d
%d\n”,x,y);
}三、编程题1.给定一个整数,判断它是否能同时被3、5、7整除。2.输入三角形三条边长度,判断它们能否组成三角形,若能则指出是何种三角形:等边、等腰、直角、通常;若不能组成三角形,则输出对应信息。3.输入一个整数,判断该数奇偶性。(输出对应标志even-偶数odd-奇数)4.输入一个x值,计算分段函数值。5.从键盘输入4个不相等整数存入变量n1,n2,n3,n4,找出其中最小一个数并输出。6.从键盘上输入一个数,若该数能够被13整除则输出,不然显示对应信息。7.从键盘上输入一个字符,若该字符不是英文字母,则输出该字符。第4单元
循环结构程序设计一、单项选择题1.在C语言中,while和do-while语句主要区分是__________。A.do-while语句循环体最少执行一次;B.while语句循环体也最少执行一次;C.do-while语句允许从循环体外转到循环体内;D.do-while语句循环体不能是复合语句;2.若k为整型变量,则以下循环体执行次数为__________。for(k=2;k==0;)
printf(“%d”,k--);A.0
B.1
C.2
D.无限次3.执行循环语句for(k=1;k++<4;);后,变量k值是________。A.3
B.4
C.5
D.不定4.执行以下程序段后输出结果是________。intk=1,a=0,b=1;do{a=a+b*k;
b=-b;
k++;
}while(a>=0);printf(“%d”,a);A.1
B.0
C.-1
D.-25.运算以下程序,假如从键盘上输入:ab<回车>c<回车>def<回车>则输出结果为________。#include“stdio.h”main(){charc[6];
inti=0;
for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i]);printf(“\n”);
}A.a
B.a
C.ab
D.abcdef
B
b
c
C
c
d
D
d
E
F6.下面程序输出结果是__________。main(){intn=0;
while(n<=2)
{n++;
printf(“%d\n”,n);}}A.1
B.1
C.1
D.1
2
2
2
3
3
d
4
7.以下语句中错误是_______。A.while(x=y)5;
B.dox++while(x==10);C.while(0);
D.do2;while(a==b);8.循环语句for(a=0,b=0;(b!=12||(b<4);a++)循环执行了__________。A.3次
B.4次
C.5次
D.无限次9.以下说法中正确是_________。A.continue和break只能用在循环体中
B.continue只能用在循环体中C.break只能用在循环体中
D.continue不能用在循环体中10.不能计算s=1×2×3×…×10程序段是_________。A.s=1*2*3*4
B.for(s=k=1;k<11;k++)
s=s*5*6*7*8*9*10
s*=k;C.s=k=1;
D.s=k=1
while(k<11)
do
s*=k;
s*=k++;
while(k++<11);11.下面程序中,while循环循环次数是__________。main(){
inti=0;while(i<10){
if(i<1)continue;if(i==5)break;i++;
}......
}A.1
B.10
C.死循环
D.不能确定次数12.下面程序输出结果是____________。#include“stdio.h”main(){inti=0,a=0;while(i<20){
for(;;){
if((i%10)==0)break;elsei--;}i+=11;a+=i;
}printf("%d\n",a);
}A.21
B.32
C.33
D.1113.下面程序输出结果是____________。main(){
inti,sum=0;for(i=1;i<=3;sum++)
sum+=i;printf(“%d\n”,sum);}A.6
B.3
C.0
D.死循环14.下面程序输出结果是____________。#include“stdio.h”main(){
intx=23;do{
printf(“%d”,x--);
}while(!x);}A.321
B.23
C.死循环
D.不输出任何内容15.下面程序输出结果是____________。#include“stdio.h”main(){intn=9;while(n>6)
{
n--;printf(“%d”,n);
}}A.987
B.876
C.8765
D.987616.下面程序输出结果是____________。#include“stdio.h”main(){
inty=10;do{y--;}while(--y);printf("%d\n",y--);}A.-1
B.1
C.8
D.017.在执行以下程序时,假如从键盘上输入,ABCdef<回车>,则输出为_______。#include<stdio,h>main(){charch;
while((ch=getchar())!='\n'){
if(ch>='A'&&ch<='Z')ch=ch+32;elseif(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");
}A.ABCdef
B.abcDEF
C.abc
D.DEF18.以下关于循环语句描述,不正确是_______。A.循环语句由循环条件和循环体两部分组成。
B.循环语句能够嵌套,即要循环体中能够用循环语句。C.循环语句循环体能够是一条语句,也能够是复合语句,还能够是空语句。D.任何一个循环语句,它循环体最少要被执行一次。二、填空题1.下面程序段功效是:从键盘上输入若干字符(用回车键结束输入),统计其中数字字符个数。intn=0,ch;ch=getchar();while(________________)
{if(____________________)n++;
ch=getchar();
}2.下面程序功效是:计算1-3+5-7+…-99+101值。#include“stdio.h”main(){intk,t=1,s=0;
for(k=1;k<=101;k+=2)
{
_____________;
s=s+t;
_____________;}printf(“%d\n”,s);
}3.下面程序功效是:输出100以内个位数为6而且能被3整除全部数。#include“stdio.h”main(){intk,j;
for(k=1;__________;k++)
{
j=k*10+6;
if(_____________)continue;
printf(“%d\n”,j);
}
}4.计算一个班某课程平均分,经过键盘输入数据,-1表示数据输入结束。#include“stdio.h”main()intsum=0,data,k=0;scanf(“%d”,&data);while(data___________)
{scanf(“%d”,&data);
sum=sum+___________;
______________
}printf(“%d\n”,sum/_______);
}5.下面程序功效是:从键盘上输入若干个学生成绩,统计并输出最高分成绩和最低分成绩,当输入负数时结束输入。
main()
{
floatx,amax,amin;
scanf(“%f”,&x);
amax=x;
amin=x;
while(______________)
{
if(x>amax)amax=x;
if(_____________)amin=x;
scanf(“%f”,&x);
}
printf(“\namax=%f\namin=%f\n”,amax,amin);
}6.下面程序功效是求xy次方。main(){intk,y;
floatx,z=1.0;
for(k=1;k________;k++)
z=______;
printf(“8.2f”,z);
}三、编程题1.输入20个整数,统计其中正数、负数和零个数。2.编程计算:
(要求通项值小于10-6即停顿计算!)3.编程输出九九乘法表。4.输出0—127之间全部ASCII码字符。5.编程求出3-100之间全部素数。6.编程按次序输出26个大写字母。7.求100~500之间各位数字之和等于6全部整数。8.形成数列1,2,3,5,16,231,……前10项,该数列规律是从第三项起,每一项是前两项平方差。第5单元
数组程序设计一、单项选择题1.在C语言中,数组下标数据类型是_______。A.整型常量
B.整型表示式
C.整型常量或整型表示式
D.任何类型表示式2.若有说明,inta[5];则对数组元素正确引用是_________。
A.a[5]
B.a[3.5]
C.a(5)
D.a[5-5]3.以下程序输出结果是
#include“stdio.h”main(){
charcf[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}A.AAAA
B.BBB
C.BBBCC
D.CC4.若有说明,inta[3][4];则对a数组元素正确引用是________。
A.a[2][4]
B.a[1,3]
C.a[1+1][0]
D.a(2)(1)5.设有数组定义:chararray[]=”Computer”;则数组所占存贮空间为__________。
A.7个字节
B.8个字节
C.9个字节
D.10个字节6.有以下程序,该程序输出结果是____________。#include“stdio.h”main(){intn[5]={0,0,0},i,k=2;
for(i=0;iprintf(“%d\n”,n[k]);}A.不确定值
B.2
C.1
D.07.若有定义:intt[3][2];能正确表示t数组元素地址表示式是___________。A.&t[3][2]
B.t[3]
C.t[1]
D.t[2]8.有以下程序,该程序输出结果是___________。#include“stdio.h”main(){
inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i3;i++)for(j=0;jprintf(“%d\n”,s);}A.18
B.19
C.20
D.219.下面程序输出结果是_________。#include“stdio.h”main(){chara[2][4];
strcpy(a,”you”);strcpy(a[1],”me”);a[0][3]=’&’;printf(“%s\n”,a);
}A.you&me
B.me
C.you
D.me&you10.定义两个一维字符数组:chara[5],b[5];以下正确输入语句是__________。A.gets(a,b);
B.gets(‘a’),get(‘b’);
C.scanf(“%s%s”,&a,&b);
D.scanf(“%s%s”,a,b);11.以下数组定义中不正确是___________。A.intb[2][3];
B.intb[][3]={0,1,2,5};
C.intb[10][10]={0};
D.intb[3][]={{1,2},{1,3,5},{1,3,5,7}};12.以下程序段输出结果是_________。charc[5]={‘m’,’e’,’\0’,’y’,’\0’};printf(“%s”,c);A.’a’’b’
B.ab
C.abc
D.abc13.执行以下程序后,数组中最大值元素下标是__⑴_____,最大值是__⑵____。#include“stdio.h”main(){inta[6],k,j;
for(k=1;k<=3;k++)
{for(j=3;j>=1;j--)
a[k+j]=k*j+a[k+j];}
for(k=1;k<=6;k++)
printf("%d\n",a[k]);}⑴A.3
B.4
C.5
D.6⑵A.4
B.10
C.12
D.2414.以下程序运行后,输出结果是___________。main(){char*s="abcde";s+=2;printf("%ld\n",s);}A.cde
B.字符cASCII码值
C.字符c地址
D.犯错15.以下不能正确进行字符串赋初值语句是__________。A.charstr[5]="good!";
B.charstr[]="good!";C.char*str="good!";
D.charstr[5]={'g','o','o','d'};16.若有定义:intaa[8];则以下表示式中不能代表数组元aa[1]地址是______。A.&aa[0]+1
B.&aa[1]
C.&aa[0]++
D.aa+117.下面程序运行结果是__________。main(){charch[7]={"65ab21"};inti,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}A.2ba56
B.6521
C.6
D.6218.以下说法中正确是______________。A.字符串是由若干个字符组成。B.字符串必定是一个一维字符数组。C.一维字符数组都是字符串。D.带有结束符一维字符数组才是字符串。二、读程序1.写出下面程序输出结果。#include“stdio.h”main(){
chars[]="abcdef";s[3]='\0';printf("%s\n",s);}2.写出下面程序输出结果。
#include“stdio.h”main(){
intk;
inta[3][3]={1,2,4,6,7,8,9,5,3};
for(k=0;k<3;k++)
printf(“%d”,a[k][2-k]);}3.写出下面程序输出结果。#include“stdio.h”main(){
inta[]={2,4,6,8,10};
inty=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)
y+=*(p+x);
printf(“%d\n”,y);
}4.写出下面程序输出结果。#include“stdio.h”main()
{inta[3][3],*p,k;p=&a[0][0];for(k=0;k<9;k++)
p[k]=k+1;printf(“%d\n”,a[1][2]);
}5.改过下面程序中不正确语句。#include“stdio.h”main()
{intn;
floats=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf(“%6.1f\n”,s);
}三、程序填空1.有一个已排好序字符串a,将字符串s中每个字符按序插入到字符串a中。
#include"stdio.h"main(){chara[20]="bcehio";
chars[]="faxz";
inti,j,k;
for(k=0;s[k]!='\0';k++)
{j=0;
while(s[k]>=a[j]&&a[j]!='\0')
j++;
for(____________________)
________________________;
a[j]=s[k];
}
i=0;
while(a[i]!=__________)
{
putchar(a[i]);
__________;
}}2.从键盘上输入一个英语句子,统计其中单词个数。#include“stdio.h”main(){
charst[80],ch;
intk,n=0,word=0;
gets(st);
for(k=0;______________!=’\0’;k++)
if(ch__________)word=0;
elseif(____________)
{
word=1;
n__________;}printf(“%d\n”,n);
}三、编程题1.输入10个整数,求它们平均值,并输出大于平均值数据个数。2.从键盘上输入10个数,求其中最大值及最小值并输出。3.定义一个有20个元素整型数组,从键盘上输入20个数,输出该数组中具备偶数值且具备偶数下标元素值。4556798241181326394.从键盘上输入9个数存入一个3455679824118132639⑴按3行3列输出这9个数。⑵输出主对角线与次对角线元素和。⑶输出第二行元素和⑷输出第三列元素平均值。5.从键盘输入100个字符,分别统计其中英文字母、空格符、数字字符及其它字符个数。第6单元
函数程序设计一、单项选择题1.C语言允许函数类型缺省定义,此时该函数隐含类型是____________。A.int
B.long
C.float
D.double2.以下正确函数定义形式是_____________。A.floatfunc(intx,inty)
B.floatfunc(intx;inty)
C.floatfunc(intx,inty);
D.floatfunc(intx,y)3.下面程序输出结果是___________。intf(){
staticinti=0;ints=1;s+=i;i++;returns;
}main(){
inti,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);
}A.20
B.24
C.25
D.154.下面程序输出结果是___________。
intx=1;fun(intm){
intx=5;
x+=m;
printf("\n%d",x);m++;
}main(){
intm=3;
fun(m);
x+=m++;
printf("%d\n",x);}
A.8
5
B.8
4
C.9
5
D.9
4
5.下面程序输出结果是___________。
fun(inta,intb){
returna+b;
}main(){
intx=2,y=3,z=4;
printf("%d\n",fun(fun((x--,y++,x+y),z--),x));}
A.14
B.13
C.12
D.11
6.下面程序输出结果是___________。
fun1(inta[4]){intk;
for(k=0;k<3;k++)a[k+1]+=a[k];returna[0];
}main(){
inta[4]={1,2,3,4};
fun1(a);
printf("%d\n",a[3]);}
A.0
B.1
C.10
D.117.在C语言程序中,当调用函数时__________。
A.形参和实参能够共用相同存放单元。
B.实参和形参共用存放单元。
C.实参和形参都各自占用独立存放单元。
D.若形参用指针时共用存放单元,不然各自占用存放单元。8.在一个源文件中定义全局变量作用域是___________。
A.本文件全部范围。
B.本程序全部范围。
C.本函数全部范围。
D.从定义该变量开始至本文件结束。9.若有下面程序,叙述不正确是___________。#include<stdio.h>voidf(intn);
main(){
voidf(intn);
f(5);}voidf(intn){
printf("%d\n",n);
}A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f。
B.若在主函数前对函数f进行说明,则在主函数和其后其它函数中都能够正确调用函数f。
C.对于以上程序,编译时系统会提醒犯错信息:提醒对对f函数重复说明。
D.函数f无返回值,所以可用void将其类型定义为无值型。10.在C语言中,形参缺省存放类是__________。
A.auto
B.register
C.static
D.extern11.下面程序输出结果是___________。f(intb[],intm,intn){inti,s=0;
for(i=m;i<n;i=i+2)s=s+b[i];
returns;}main(){intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);printf("%d\n",x);
}
A.8
B.18
C.10
D.2012.下面程序输出结果是___________。#include"stdio.h"intx=3;main(){
inti;
for(i=1;i<x;i++)
incre();return;
}incre(){
staticintx=1;
x*=x+1;printf("%d",x);
}
A.3
3
B.2
2
C.2
6
D.2
513.下面程序输出结果是___________。#include"stdio.h"voidfun(){
staticinta=0;
a+=2;printf("%d",a);
}main(){
intcc;
for(cc=1;cc<4;cc++)
fun();
printf("\n");
}A.1
2
3
B.1
3
5
C.2
4
6
D.2
5
714.下面程序输出结果是___________。#include"stdio.h"func(inta,intb){
staticintm=0,i=2;
i+=m+1;
m=i+a+b;return(m);
}main(){
intk=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d
\n",p);
}
A.8,15
B.8,16
C.8,17
D.8,1815.若用数组名作为函数调用实参,传递给形参是__________。A.数组首地址
B.数组第一个元素值C.数组全部元素值
D.数组元素个数16.以下叙述不正确是__________。A.C语言程序main函数能够没有参数。B.C语言程序main函数能够有参数。C.C语言程序main函数若有参数,必须为三个参数。D.main函数第一个参数必须是整型,其名字通常为argc,第二个参数能够定义成:
char*argv[],名字通常为argv。17.下面程序输出结果是___________。charcchar(charch){
if(ch>='A'&&ch<='Z')ch=ch-'A'+'a';returnch;
}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf("%s\n",s);}A.abc+ABC=DEFdef
B.abc+abc=defdef
C.abcaABCDEFdef
D.abcabcdefdef18.下面程序输出结果是__________。
func(intb[],intm,intn)
{intk,s=0;for(k=m;k<n;k=k+2)
s=s+b[k];returns;}
main()
{
intx,a[]={1,3,5,7,9,2,4,6,8,};x=f(a,3,7);printf(“%d\n”,x);
}A.9
B.10
C.11
D.12二、程序填空1.mystrlen函数功效是计算str所指字符串长度,并作为函数值返回。intmystrlen(char*str){inti;for(i=0;____________!='\0';i++);return(_____________);}2.以下函数用来求出两整数之和,并经过形参将结果传回。voidfunc(intx,inty,______z)
{
*z=x+y;
}3.以下fun函数功效是:求数组元数值累加和。n为数组中元素个数,累加和值放入x所指存放单元中。fun(intb[],intn,int*x){intk,r=0;
for(k=0;k<n;k++)r=_____________;__________________=r;
__________________;}4.以下程序计算10数平均值。floataverage(floatarray[10]){intk;
floataver,sum=array[0];
for(k=1;_________;k++)
sum+=__________;
aver=sum/10;
return(aver);
}main(){floatscore[10],aver;
intk;
for(k=0;k<10;k++)
scanf(“%f”,&score[k]);
aver=___________;
printf(“%8.2f\n”,aver);
}三、编程题1.编写一个函数,统计array数组中小写字母个数并返回。2.编写一个函数,求输入年是否为闰年,若是闰年,则返回1,不然返回0。3.编写一个函数,删除字符串中指定位置上字符,删除成功返回被删除字符,不然返回空值。4.编写一个upper(),把小写字母转换成大写字母作为函数值返回,其它字不变,用字符#结束输入。第7单元
指针一、单项选择题1.地址是指
。A.
变量值
B.
变量类型
C.
变量在内存中编号
D.变量2.设p和q是指向同一个数组指针变量(q>p),k为同类型变量,则下面语句不可能执行是(
)A.k=*(p+q)
B.
k=*(q-p)
C.
p+q
D.k=*p*(*q)3.假设某变量有以下语句,则经过指针变量c得到a数值方式为
。
int
a,*b,**c;
b=&a;
c=&b;A.指向运算
B.
取地址运算
C.
直接存取
D.间接存取4.定义语句“char*abc=“abc”;”功效完全相同程序段是
。A.charabc;*abc=“abc”;
B.char*abc,*abc=“abc”;C.charabc,abc=“abc”;
D.char*abc;abc=“abc”;5.设有定义语句“intx[10]={1,2,3},*m=x;”,则结果不能表示地址表示式是
。A.*m
B.m
C.x
D.&x[0]6.若有定义:intabcd[10]={1,2,3,4,5,6,7,8,9,10},*p=abcd;则数值为6是
。A.*p+6
B.*(p+6)
C.*p+=5
D.p+57.若有指针变量fp已指向char型变量x,正确输入语句是
。A.scanf(“%c”,&fp);
B.scanf(“%d”,fp);C.scanf(“%c”,*fp);
D.scanf(“%c”,fp);8.设有定义“inta=3,b,*p=&a”,则以下语句中使b不为3语句是
。A.b=*&a;
B.b=*p;
C.b=a;
D.b=*a;9.设指针x指向整型变量值为25,则printf(“%d\n”,*x++);输出是
。A.23
B.24
C.25
D.26
E.不确定10.若有说明语句“inta[10],*p=a;”,对数组元素正确引用是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大厦上班租房合同范例
- 企业餐厅布置租房合同模板
- 安检门合同范例
- 2024年国际影视制作与版权转让合同
- 临沂大学《测量程序设计实训》2021-2022学年期末试卷
- 2024北京初三(上)期末英语汇编:宾语从句
- 2024年广告发布与效果保证合同
- 聊城大学东昌学院《莫言研究》2023-2024学年第一学期期末试卷
- 2024年人工智能技术研发合同标的解析
- 2024年城市公园绿地围栏维护合同
- 短暂性脑缺血发作PPT课件
- 洁净手术室管理制度
- 工程变更表(标准模版)
- 外墙风貌改造施工组织设计方案
- 总结程控器工作原理LFL
- 三菱变频器fr a700使用手册
- 三重一大 流程图
- 三菱PLC基本指令完整PPT课件
- 设施规划与物流系统设计试卷
- 集团师带徒管理办法
- 工程项目管理课程设计的设计报告
评论
0/150
提交评论