2024年4月1日发(作者:仰廷宣)
选择练习题
1、C语言中最简单的数据类型包括( B )。
A、整型,实型,逻辑型
B、整型,实型,字符型
D、整型,实型,逻辑型,字符型 C、整型,字符型,逻辑型
2、C语言中,运算对象必须是整型数的运算符是(A )。
A、% B、/ C、%和/ D、*
3、为表示关系x<y<z,应使用C语言表达式( A )。
A、(x<y)&&(y<z) B、(x<y)AND(y<z)
C、(x<y<z) D、(x<y) &(y<z)
4、C语言程序的基本单位是( C )。
A、程序行 B、语句 C、函数 D、字符
5、C语言的程序一行写不下时,可以( D )。
A、用逗号换行 B、用分号换行
C、用回车符换行 D、在任意一空格处换行
6、下述标识符中,( C )是合法的用户标识符。
A、A&B B、void C、_student D、ab*
标识符由字母,数字和下划线组成且第一个字符必须为字母或下划线
7、在C语言中,字符型数据在内存中以( B )形式存放。
A、补码 B、ASCII码 C、反码 D、原码
8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。
A、auto B、extern C、static D、Register
auto自动变量
9、以下关于switch语句和break语句的描述中,只有(B )是正确的。
register寄存器变量
extern 外部变量
A、在switch语句中必须使用break语句
static静态变量
B、在switch语句中,可以根据需要使用或不使用break语句
C、break语句只能用于switch语句中
D、break语句是switch语句的一部分
10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。
A、地址传递 B、值传递
C、由实参传给形参,并由形参传回给实参 D、由用户指定传递方式
11、下述C语言转义符中( D )是非法的。
A、'b' B、'037' C、'0xf ' D、'''
12、为了要计算s=10!(10的阶乘),则以下对s的定义正确的是(
A、int s B、unsigned s C、short s D、long s
D )。
13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是( A )。
A、ch>='A'&&ch<='z' B、A<=ch<=Z
C、'A'<=ch<='z' D、ch>=A&&ch<=z
14、在C语言中,能表示无符号长整型常数的是(D )。
A、OL B、4962710U C、912374u D、2UL
15、能正确表示C语言的字符常量的是( C )。
A、'0x41' B、''A'' C、'0' D、''0''
16、C语言中逻辑表达式的值为( A )。
A、0或1 B、非零值或零值 C、true或fal D、'true'或'fal'
17、C语言提供的基本数据类型关键字是( C )。
A、integer B、FLOAT C、unsigned D、Double
18、若定义语句:int b[ ]={1,2,3,4,5},*P=b;则表达式*p++的值是( A )。
A、1 B、2 C、b[0]的地址 D、b[1]的地址
19、在下列选项中,不正确的表达式是( C )。
A、a>b B、c--, ++b, a+=1 C、a=c+b>n-m=k D、p++
20、若有以下定义:
int a[ ]={1,2,3,4,5,6,7};
char cl='b',c2='2';
则数值不为2的表达式是( D )。
A、a[1] B、'd'-cl C、a['3'-c2] D、c2-0
25、下述对C语言字符数组的描述中错误的是( C )。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D、不可以用关系运算符对字符组中的字符串进行比较
27、以下程序的输出结果是( A )。
main( )
{ int i=010, j=10, k=ox10;
printf(''%d,%d,%dn'',i,j,k);
}
A、8,10,16 B、8,10,10 C、10,10,10 D、10,10,16
28、以下程序的输出结果是( B )。
#include<stdio.h>
main( )
{printf(''%dn'',NULL);}
A、不确定的值(因变量无定义) B、0 C、-1 D、1
29、以下程序的输出结果是( B )。
main( )
{ char c1='6',c2='0';
printf(''%d,%d,%dn'',c1,c2,c1-c2);
}
A、因输出格式不合法,输出出错信息 B、54,48,6
C、6.0,7 D、6,0,6
32、下述对C语言字符数组的描述中错误的是( C )。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符''=''对字符数组整体赋值
D、不可以用关系运算符对字符组中的字符串进行比较
33、Turbo C中,对于以下程序( A )。
main( )
{ int x,y;
y=creat(&x);
printf(''%d n'', y);
}
creat(int a)
{return a++;}
A、编译时会给出错信息
B、顺利进行编译、连接、执行;不报任何错误
C、顺利通过编译、连接、但不能执行
D、顺利通过编译,但连接出错
34、设有如下定义:
int x=10, y=4,z;
则语句:
printf(''%dn'', z=(x%y, x/y));
的输出结果是( C )。
A、1 B、0 C、2 D、3
35、下述程序段的输出结果是( D )。
main( )
{ int x=10, y=10;
printf(''%d, %dn'', x++, ++y);
}
A、10,10 B、11,11 C、11,10 D、10,11
36、定义如下变量和数组:
int j;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是( C )。
for(i=0;i<3;i++﹚
printf(''%d'', x[i][2-i]);
A、159 B、147 C、357 D、369
37、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为( C )。
A、a<>0 B、!a C、a=0 D、a
38、若m,y,z均为int型变量,则执行下面语句后m值是(A )。
m=1;x=2;y=3;z=4;
m=(m<x)?m:x;
m=(m<y)?m:y;
m=(m<z) ?m:z;
A、1 B、2 C、3 D、4
39、若有定义:int a=7;float x=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是( A )。
A、2.500000 B、2.750000 C、3.500000 D、0.000000
40、如下说法不正确的是( C )。
A、c>a+b等效于c>(a+b)
B、若a,b均为真,则a||b为真
C、表达式'c'&&'d'的值为0
D、逻辑运算符!比逻辑运算符||的优先级高
41、putchar()函数可以向终端输出一个( B )。
A、整型变量表达式值 B、字符
C、字符串 D、实型变量值
42、表达式18/4*sqrt(4.0)/8值的数据类型为( C )。
A、int B、float C、double D、不确定
43、若已定义a为整型变量:
a=-2L;
printf(''%dn'',a);
则以上语句( B )。
A、赋值不合法 B、输出值为-2 C、输出为不确定值 D、输出值为2
45、若int类型数据占两个字节,则以下语句的输出为( D )。
int k= -1;
printf(''%d,%un'',k,k);
A、-1,-1 B、-1,32767 C、-1,32768 D、-1,65535
46、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为( C )。yhg
char a='a';
a--;
printf(''%d,%cn'',a+'2'-'0',a+'3'-'0');
A、b,c B、a—运算不合法,故有语法错
C、98,c D、格式描述和输出项不匹配,输出无定值
47、下面语句中( B )是C语言的正确赋值语句。
A、a=1,b=2 B、I++; C、a=b=5 D、y=int(x);
48、设有以下说明语句
struct stu
{ int a;
float b;
}stutype;
则下面的叙述不正确的是( C )。
A、struct是结构体类型的关键字 B、struct stu是用户定义的结构体类型
C、stutype是用户定义的结构体类型名 D、a和b都是结构体成员名
49、能正确表示:当x的取值范围在[1,10]或[100,110]内为真,否则为假的表达式是( C )。
A中声明变量并初始化时:int a=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;C无分号,不是完整的语句,D中x没有定义,如果是 int x=3;int y; y=int(x);这样是对的
A、(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)
B、(x>=1)||(x<=10)||(x>=100)||(x<=110)
C、(x>=1)&&(x<=10)||(x>=100)&&(x<=110)
D、(x>=1)||(x<=10)&&(x>=100)&&(x<=110)
50、设n为整型变量,则循环语句for(n=10;n>0;n--)的循环次数为( A )。
A、10 B、9 C、11 D、12
51、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是( D )。
A、fopen() B、fek() C、fclo() D、rewind()
52、下列哪个数组定义是正确的( D )。
A、int a[5.5]; B、INT a[10]; C、int a[n]; D、int
a[3+2];
53、一个变量的指针就是( A )。
A、变量的地址 B、变量的值 C、变量的名称 D、变量的类型
55、下列正确的说法是(C )。
A、宏替换是在程序运行时进行的
B、函数调用是在程序编译时进行的
C、宏替换时,如果实参是表达式,应先求表达式的值,再替换
D、函数调用时,如果实参是表达式,应先求表达式的值,再替换
56、对于数学式x/2a,下面正确的C语言表达式是( D )。
A、sqr(x)/2a B、sqr(x)/2*a C、sqrt(x)/(2*a) D、sqrt(x)/2*a
57、若int类型数据占2字节,则以下语句的输出为( D )。
int k=32768;
printf(''%d,%un'',k,k);
A、-1,65535 B、-1,32767 C、-1,-1, D、-32768,32768
59、下面程序中( B )有错误。
1)#include<stdio.h>
2)main ( )
3){
4)int a[3]={0,0,0};
5)int i;
6)for(i=0;i<3;i++﹚scanf(''%D'',&a[i]);
7)for(i=1;i<3;i++﹚a[0]=a[0]+a[i];
8)printf(''%dn'',a[0];}
A、第4行 B、第6行 C、第7行 D、第8行
60、下面程序的运行结果( C )。
main( )
{ unsigned a=3,b=10;5
printf(''%dn''a<<2|b>>1=;
}
A、3 B、10 C、13 D、14
61、已定义x为float型变量。
x=213.82631;
%表示最大场宽m,小数位为n位,整数位则为m-n-1 Printf(''%-4.2fn'',x);
位,够m位右对齐。%-可以控制输出左对齐
则以上程序( A )。
A、输出格式描述符的域宽不够,不能输出 B、输出为213.83
C、输出为213.82 D、输出为-213.82
62、设已定义整型变量K,则下面的程序输出为( D )。
k=017;s=111;
printf(''%d'',++k);
printf(''%xn'',s++);
A、15 6f B、16 70 C、15 71 D、16 6f
63、不能正确表示a*b/c*d的C语言表达式是( C )。
A、a*b/c*d B、a/(c*d)*b C、a*b/c/d D、a*b/(c*d)
64、下列( C )表达式不满足;当x的值为偶数时值为“真”,为奇数时值为“假”。
A、x%2= =0 B、!x%2!=0 C、x/2*2-x= =0 D、!(x%2)
65、设已定义k为int型变量,则下面while循环执行( C )次。
k=10;
while(k=0)k=-1;
A、执行10次 B、无限循环 C、一次也不执行 D、执行一次
67、用高级语言编写的程序称之为( A )。
A、源程序 B、目标程序 C、汇编程序 D、命令程序
69、有以下程序的输出结果为( B )。
main( )
{ char a=0x95,b,c;
b=(a&0xf)<<4;
c=(a&0xf0)>>4;
a=b|c;
printf(''%xn'',a);
}
A、24 B、59 C、34 D、56
70、下述程序段的输出结果是( A )。
int a=3;b=4;
int c=a^b>>3;
printf(''%d'',c)
A、3 B、4 C、5 D、6
73、设int型变量在内存中占用两个字节存储单元,定义如下结构体:
struct student
{ char name[10];
char x;
int age;
struct
{ int year;
int month;
int day;
}birth;
}stul;
则表达式sizeof(stul)的值是( )。
A、5 B、8 C、2 D、26
75、下述程序段的运行结果是( B )。
#include
main( )
{ int m=7,n=4;
float a=38.4,b=0.4,x;
x=m/2+n*a/b+1/2;
printf(''%fn'',x);
}
A、22 B、387.000000 C、27 D、26
76、下面程序的运行结果是( C )。
main( )
{ int cl=2,c2=0;
while(!c2- -)
printf(''%d%d'',cl- -,c2);
}
A、陷入死循环 B、不输出任何内容
C、输出2 -1 D、输出20
77、下面程序的运行结果是( B )。
int m=4,n=6;
max(int x,int y)
{ int max;
max=x>y?x:y;
return(max);
}
main( )
{ int m=10;
printf(''%dn'',max(m,n));
}
A、4 B、10 C、6 D、5
78、下面程序的运行结果是( B )。
fun(int p)
{ int k=1;
static t=2;
k=k+1;
t=t+1;
return(p*k*t);
}
main( )
{ int x=4;
fun(x);
printf(''%dn'',fun(x));
}
A、4 B、32 C、30 D、16
79、阅读下面的程序:
main( )
{ char ch;
scanf(''%c'',&ch);
if(ch>='a'&& ch<='z')
ch=ch-32;
printf(''%c'',ch);
}
若输入字符为:e,则程序运行结果为( A )。
A、E B、A C、e D、z
80、下面程序的运行结果是( B )。
main( )
{ static int a[3][3]={{3,2,1},(4,5,6),{-2,9,1}};
int i,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{ if(i= =j)
sum=sum+a[iJ[j]];
}
printf(''sum=%d'',sum);
}
A、sum=10 B、sum=9 C、9 D、10
84、下述程序的运行结果是( A )。
#include
void fun(int x)
{
putchar('0'+(x% 10));
fun(x/10);
}
main( )
{
printf(''n'');
fun(1234);
}
A、4321 B、321 C、21 D、1
86、设已定义i和k为int类型变量,则以下for循环语句( B )。
for(i=0,k=-1;;i++,k++)
printf(''* * * *n'');
A、判断循环结束的条件不合法 B、是无限循环
C、循环一次也不执行 D、循环只执行一次
87、下列程序段选择项中,使i的运行结果为4的程序段是( D )。
A、int i=0,j=0; B、int i=1,j=70;
(i=3,(j++)+i); j=i=((i=3) *2);
C、int i=0,j=1; D、int i=1,j=1;
(j= =1)?(i=1):(i=3); i+=j+=2;
89、阅读以下程序(最左边是附加的行号)。
1)#include
2)main( )
3){ float s[5];
4) int i,k=0;
5) for(i=0;i<5;i++)
6) scanf(''%d'',s+i);
7) for(i=0;i<5;i++)
8) k=s[i];
9) printf(''n%f'',(float)k);
10)}
此段程序( A )。
A、没有错误 B、第4行错误 C、第6行错误 D、第9行错误
90、下列程序中有三个是完全相同的功能,只有( B )所完成的功能与其他程序不同。
A、s=0; B、s=0;
i=0; i=1;
while(i<=100) while(i++<100)
s+=i++; s+=i;
C、s=0; D、s=0;
i=0; i=0;
while(i<=100) while(++i<=100)
s+=++i; s+=i;
92、执行下面的程序后,a的值为( D )。
main( )
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if(b>=20)break;
if(b%3= =1)
b+3;
continue;
}
b-=5;
}
A、7 B、8 C、 D、10
93、下面的程序中( C )有错误。
1)#include
2)main( )
3){
4) float a[3]={0.0};
5) int i;
6) for(i=0;i<3;i++)
7) scanf(''%D'',&a[i]);
8) for(i=1;i<3;i++)a[0]=a[0]+a[i];
9) printf(''%fn'',a[0]);
}
A、第4行 B、第6行 C、第7行 D、第8行
94、以下程序的输出结果是( C )。
#include
main( )
{ int i;
for(i=1;i<5;i++)
{ if(i%2)
printf(''+'')
el
continue;
printf(''-'')
}
printf(''$n'');
}
A、+-+-+-$ B、-+-+-+$ C、+-+-$ D、-+-+$
95、下述程序段的输出结果是( C )。
int x=3;
do
{ printf(''%d'',x-=2);
}while(!(--x));
A、1 B、30 C、1-2 D、死循环
96、定义如下变量:
int n=10;
则下列循环的输出结果是( A )。
while(n>7)
{ n--;
printf(''%d'',n);
}
A、1098 B、987 C、10987 D、9876
100、两次运行下面的程序,如果键盘上分别输入6和4,则输出结果是( A
main( )
{ int x;
scanf(''%d'',&x);
。 )
int(x++>5)
printf(''%dn'',x--);
}
A、7和5 B、6和3 C、7和4 D、6和4
101、运行下段程序的结果是( D )。
#include
main( )
{ int x;
for(x=1;x<=100;x++)
if(++x%= =0)
if(++x%3= =0)
if(++x%5= =0)
printf(''%d'',x);
}
A、31,61,91 B、30,60,90
C、不输出任何内容 D、29,59,89
102、运行下述程序段后,i值为4的是( B )。
A、int i=1,j=0; B、inti=1,j=1;
i=j=((i=3)++); i+=i+=2;
C、int i= =0,j=0; D、int i=0,j=1;
(i=2,i+(j=2)); (j= =1)?i+=3:i=2;
104、以下程序的输出结果是( D )。
main()
{ int a=-1,b=4,k;
k=(++a,0)&&!(b--<=0);
printf(''%d,%d,%dn'',k,a,b);
}
A、1,0,4 B、1,0,3 C、0,0,3 D、0,0,4
105、以下程序的输出结果是( A )。
main( )
{ int x=3,y=0,z=0;
if(x=y+z)
printf(''* * * *'');
el
printf(''# # # #'');
}
A、# # # # B、* * * * C、1 D、4
106、以下程序的输出结果是( A )。
int m=13;
int fun2(int x, int y)
{ int m=3;
return(x*y-m);
}
main( )
{ int a=7,b=5;
printf(''%dn'',fun2(a,b)/m);
}
A、2 B、3 C、7 D、5
112、阅读程序:
#include
main( )
{ int m,n,w;
scanf(''%d,%d'',&m,&n);
while(n)
{ w=m%n;
m=n;
n=w;
}
printf(''%d'',m);
}
如果输入10,6,则输出结果是( D )。
A、60 B、120 C、2
113、下列程序执行后输出的结果是( A )。
#include
f(int a)
D、10
{ int b=0;
static c=2;
a=c++, b++;
return(a+b);
}
main( )
{ int a=2,i,k;
for(i=0;i<2;i++);
k=f(a++);
printf(''%dn'',k);
}
A、3 B、0 C、4 D、5
115、下列程序的运行结果是( B )。
main( )
{ static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int i,j, sum=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(j>i)
sum+=a[i][j];
printf(''sum=%dn'',sum);
}
A、40 B、36 C、24 D、30
120、阅读下列程序:
main( )
{ int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;i for(j=0;j n[j]=n[i]+1; for(i=0;i<3;i++) printf(''%d'',n[i]); printf(''n''); } 运行该程序,其输出结果是( B )。 A、230 B、330 C、123 D、321 123、下述程序段的运行结果是( B )。 main( ) { static int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3][2],i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { b[i][j]=a[j][i]+a[i][j]; printf(''%5d'',b[i][j]); } printf(''n''); } } A、2 4 7 B、2 6 10 C、18 14 10 D、18 2 3 2 10 8 6 10 14 14 10 6 4 10 2 3 6 18 10 14 18 10 6 2 7 4 2 124、如果程序中有如下的说明和定义: struct s { int x,y;} struct s x,y; 则会发生的情况是( A )。 A、编译出错 B、能顺利编译和链接,但不能执行 C、程序能顺利通过编译,但是链接时会出错 D、程序能顺利编译,链接,执行 127、对C语言的文件存取方式的论述中,正确的是文件( C )。 A、只能顺序存取 B、只能随机存取(也称直接存取) C、可以是顺序存取,也可以是随机存取 D、只能从文件的开头存取 填空练习题 1、有以下定义:int x; float y; 执行scanf("%3d%f",&x,&y);时,如果输入的数据为: 12345 678 2、有定义语句:int x,y,z;,执行x=(y=4,z=8,z=16) 后,x的值为 16 。 3、计算表达式b=25/3%3后,b的值为 2 。 4、设有定义语句int x=1,y=0;,则表达式x-->(y+x)?10:12>y++?'A': 'Z'的值是: 65 。 5、请写出以下语句的输出结果 9 。 printf("%d",strlen("t"065xffabn")); 7、C语言规定:标识符只能由 字母 、 数字 、 下划线 三种字符组成。 8、有定义语句:int x=5,y=1;表达式x&y==y? x|y:x^y的值为 5 。 9、下述程序段的循环次数是 0 次,输出结果是 y=1,x=0 。 int x=0,y=0; do { y++; x*=x; }while(x>0&&y>5) printf("y=%d,x=%d",y,x); 10、若m,y,z,均为int型变量,则执行下面语句后m值是1 。 m=1;x=2;y=3;z=4; m=(m m=(m m=(m 11、下述程序段的运行结果是 5 。 int x,y; x=17; y=26; printf("%d",y/=(x%=6)); 12、下列循环语句执行的循环次数是: 无数次 。 for(a=1,b=1;a<4&&b!=4;a++)//循环体内b的值不变。 13、下面程序的输出是 。 #include main() { printf("%dn",strlen("nabcc",",0410xftn"));} 14、下述程序段的输出结果是 3 。 int a=3;b=4; int c=a^b>>3; printf("%d",c); 17、下述程序段的输出结果是 1245056 。 #include void fun(int*x) { printf("%d",++x); } main( ) { int y=20; fun (&y); } 20、下述程序段的运行结果是 15 。 #include main( ) { int a[3][3]={1,2,3,4,5,6,7,8,9}; int s=0,i; for(i=0;i<3;i++) s+=(*(a+i))[i]; printf("%d",s); } 21、下述程序的输出结果是 18 。 #include main() { int x=8,y=9; int k; k=(x++)+(++y); printf("%d",k); } 22、下述程序的输出结果是 6 。 #include int fun(int x) { static int a=3; a+=x; return a; } main( ) { int k=2,m=1,n; n=fun (k); n=fun (m) printf("%d",n); } 23、用“冒泡法”对输入的10个字符按由小到大顺序排序,请填空。 #include #include #define n 10 main() { int i,j; char str[11]; scanf("%s",str); char t; for(j=1;j for(i=0;(i if( str[i]>str[i+1] ) { t=str[i]; str[i]=str[I+1]; str[i+1]=t; } for(i=0;i printf("%c",str[i]); } 24、把字符数组中的字符串按反序存放,例如:字符串"ABCD"的输出结果应为"DCBA",请填空。 #include #include #include main() { char a[100],t; printr(“输入字符串:n”); scanf("%s",a); int i,j; for(i=0,j=strlen(a);i { t=a[i]; a[i]=a[j-1]; a[j-1]=t ; } printf(“转换后的字符串是:%sn”,a); } 27、下面程序的执行结果是 2,2 。 #include main( ) { int array[ ][3]={{10,20,30},{28,15.-10},{-50,10,60}}; int i,j,row=0,col=0; for(i=0;i<3;i++) for(j=0;j<3;j++) if(array[i][j]>array[row][col]) { row=i;col=j;} printf("%d,%d",row,col); } 28、求出1000以内能被7或11整除,但不能同时被7和11整除的数,存放到数组xx中。请填空。 main( ) { int i,j=0; int xx[1000]; for(i=1;i<1000;i++) if(((i%7==0)||(i%11==0))&&(!((i%7==0)&&(i%11==0)))) xx[j++]=I; printf("%d",j); } 29、下面程序的执行结果为: 2.000000 。 main( ) { float x,y; x=1/2; y=2; printf("%fn",x+y); } 32、程序的功能是求两个整数的最大公约数,请填空。 main() { int a=12,b=8,t; while( b>1 ) { t=a%b; a=b; b=t; } printf("%3d",a); } 35、求下列算式1+1/2+1/3+……+1/100的值,请填空。 main( ) { int i; float sum=0; for(i=1;i<101;i++) sum+ =1/i ; printf("%fn",sum); } 36、将输入的百分制的分数转换为相应的等级并输出,100~90分则为A;89~80分则为B;79~70分则为C;69~60分则为D;小于60分为E,请填空。 main( ) { int score,i; scanf("%d",&scorer); i=score/10; switch(i) { ca 10: ca 9:printf("A");bresk; ca 8:printf("B");break; ca 7:printf("C");break; ca 6:printf("D");break; default : printf("E"); } } 38、下面程序是在两位数中统计所有能被3整除的数的个数。 main() { int i,num=0; for(i=10;i<100;i++) if( i%3=0 ) num++; printf("nThere are%d numbers!",num); } 42、以下程序段的输出结果是 1 -2 。 main() { int x=3; do { printf("%3d",x-=2); }while(!(--x)); } 43、以下程序的输出结果是 004 。 main() { int a=-1,b=4,k; k=(++a<0)&&!(b--<=0); printf("%d%d%dn",k,a,b); } 44、下列程序执行后输出的结果是 4 。 #include f(int a) { int b=0; static c=3; a=c+ +,b++; return(a); } main( ) { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%dn",k); } 46、阅读程序,请写出结果: main( ) { int x,y; scanf("%d",&x) y=-1; if(x!=0) if(x>0)y=1; el y=0; printf("y=%dn",y); } 若运行该程序,输入值为:5 47、阅读程序,请写出结果: main( ) { char c; int s1=0,s2=0; do {swith(c=getchar()) { ca'a': ca'e': ca'x': ca'o': ca'u':s1+=1; default: s2+=1; } }while(c!='n'); printf("%d.%dn",s1,s2); } 若输入数据为:computer 48、阅读程序,请写出结果: main( ) { int m, i, k; scanf("%d",&m); for(i=2;i if(m%i= =0) break; if(i>=m) printf("%dn",m); } 若输入数据为:19 49、下述程序的运行结果是 4321 。 #include void fun(int x) { putchar('0'+(x% 10)); fun(x/10); } void main() { printf("n"); fun(1234); } 53、求20以内3的倍数和sum1及其余数的和sum2。 main( ) { int sum=0,sum2=0,i; for(i=1;i<=20;i++) if( i%3=0 ) sum1+=i; el sum2+=i; printf("%d,%dn",sum1,sum2); } 55、下面函数把两字符串s1和s2连接起来。 Con(char s1[ ], char s2[ ]) { int i=0,j=0; while(s1[i]!='0')i++; while( s2[j]!='0' )s1[i++]=s2[j++]; s1[i]='0'; } 57、统计文件中的字符个数。 #include main( ) { FILE *fp; long num=0; if( (fp=fopen("","r") ==NULL) { printf("Can’t Open Filen"); exit(0); } whilefgetc(fp)!=EOF) num++; printf("%ldn",num); fclo(fp); } 58、下面函数从字符数组s[ ]中删除字符c。 void del(char s[ ], char c) { int i,j; for(i=j=0;s[i]!+'0';i++) if(s[i]!=c) s[j++]=s[i]; s[i] ='0'; } 59、下面程序用于统计一行字符串中单词的个数,单词之间用空格分隔。 Main( ) { int i,num=0,word=0; char str[80]; scanf("%s",str); for(i=0; i<80 ;i++) if(sir[i]==") word=0 el if(word==0) { word=1; num++; } printf("%dn",num); } 64、下面程序用指针p输出p所指向的数组元素的其后所有元素。 main() { int a[10]={6,-1,3,2,5,7,6,12,-1,-3}; int i,j,*p; p=a+4; for(i=0;j<=5;i++) printf("%d", *p++ ); } 65、以下程序把一个名为的文件拷贝到一个名为的文件中。 #include main() { char c; FILE *fp1,*fp2 Fp1=fopen("","r"); Fp2=fopen("","w"); c=fgetc(fp1); while(c!=EOF) { fputc(c,fp2); c=fgetc(fp1); } fclo(fp1); fclo(fp2) ; } 67、判断某年year是否是闰年,若year能被4整除100整除或能被400整除,则是闰年,否则不是闰年。 main() { int year; scanf("%d",&year); if( year%4= =0&&year%100!=0||year%400= =0 ) printf("%d is a leap yearn",year); el printf("%d isn’t a leap yearn",year); } 68、把键盘输入的一行字符串的小写字母转换成大写字母,其余字符不变,进行输出,直到遇到回车为止。 #include main() { if(c>='a'&&c<='z') c=c-32; putchar(c); } putchar('n'); } 69、以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时,结束输入。请填空。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( x>0 ) { if(x>amax)amax==x; if x amin=x; scanf("%f",&x); } printf("n" amax= %fn amin== % fn",amax,amin); } 70、执行下面的程序后,a的值为 8 。 main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) {b+=3;continue;} b-=5; } } 74、以下程序由终端键盘输入一个文件名,然后把终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志,请填空。 #include main( ) { FILE *fp; char ch,fname[10]; printf("Input the name of file n"); gets(fname); if((fp= fopen(fname,"w" )==NULL) { printf("Cannot open n");exit(0);} printf("Enter date n"); while((ch= getchar())!='#') fputc( ch ,fp); fclo(fp); }
本文发布于:2024-04-01 22:52:18,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/89/1241408.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |