admin 管理员组文章数量: 1184232
2024年4月26日发(作者:laravel框架手册)
C语言练习题和答案(新)
第1
1.执行以下程序的输出结果是__8921__。
main()
{ int n1,n2=1298;
while(n2!=0) {
n1=n2%10;n2=n2/10;printf("%d",n1);}
}
2.以下程序的运行结果是__end____。
main()
{
int a,b,c;a=2;b=3;c=1;
if(a>b) if(a>c)printf("%dn",a);
else printf("%dn",b);
printf("endn");}
3.如果调用函数fopen() 不成功,则函数的返回值为__0__。
4.以下程序段的执行结果是_ffff__。
int a=-1;
printf("%x",a);
5.表示字符串s1等于字符串s2的逻辑表达式为
_strcmp(s1,s2)==0_。
6.在C语言中,&作为双目运算符时表示的是按位与运算符,而作
为单目运算符时表示的是__取地址__运算符。
7.C语言中的合法标识符只能有三种字符组成,它们是字母,_数
字___和下划线。
8.C语言中从作用域的角度来看,变量可以分成__全局_变量和局
部变量。
9.定义struct{
int n;
char y[5];
}tab[2]={{1,"ab"},{2,"cd"}},
*p=tab;
则表达式:printf("%sn",p->y);的结果为__ab___。
10.以下程序段的执行结果是____6,8,6,7_______。
main()
{ int a1,a2,b1,b2;
a1=5;a2=7; b1=++a1;b2=a2++;
printf("%d,%d,%d,%dn",a1,a2,b1,b2);
}
3.语句for(i=-2;i<5;i++) 的循环体共执行__7___次。
4.C语言提供专用于输入一个字符串(包括空格)的函数:
___gets()______。
5.局部变量从存储类别可分为auto、register、__static__三种。
1.在TC
2.0中快捷键Ctrl+F9的功能是编译、连接和_运行______。
2.C语言函数库中字符串复制函数的函数名是strcpy___________。
3.有定义static char s[ ]="abctdefn";则数组空间的字节数为
___9_____。
4.写出a不能被b整除的C语言表达式是__a%b!=0___________。
6.执行以下程序的输出结果是_4321______。
main()
{ int n1,n2=1234;
while(n2!=0) {
n1=n2%10;n2=n2/10;printf("%d",n1);}
}
7.已知int x=10,y=20,z=30;则以下程序段的执行结果是
__20,30,30_____。
if (x>y) z=x;x=y;y=z;
printf("%d,%d,%dn",x,y,z);
8.在C文件中,数据存放的两种形式是文本形式和二进制形式。
9.有函数调用语句sub(a,1,fun(x,y),b+c,(m+n,c*h));则该函数调
用语句中的实参个数为____5______。
1.以下程序运行结果是___6_________。
main()
{
int m=5;
if(m++>5) printf("%d",++m);
else printf("%d",m--);}
3.以下程序的运行结果是___20_________。
main()
{
int a,b,c,d,x;
a=c=0;b=1;d=20;
if(a) d=d-10;
else if(!b)
if(!c)x=15;
else x=25;
printf("d=%dn",d);}
4.在C语言中对文件读写之前应该用_fopen_____函数打开文件。
5.写出将字符串s1拷贝到字符串s2后,再连接到字符串s3之后
的语句为__strcat(s3,strcpy(s2,s1));________________。
6.在C程序的表达式中,判断表达式成立的条件是___1_____表示
逻辑"真"值,0表示逻辑"假"值。
7.有定义static char s[ ]="China";则数组所占空间为
____6_________个字节。
8.C语言中的合法标识符只能有三种字符组成,它们是_字母_____、
数字和下划线。
9.表达式a=(b=3)*(c=9)的值是__27_____ 。
10.若定义了如下的结构体类型变量x,则x所占用的内存字节数
为___11_____。
struct data1
{ int i;
char ch;
double f;
}x;
1.设i,j,k均为int型变量,则执行完以下for语句后,k的值是
___10_______。
for(i=0,j=10;i<=j;i++,j--)
k=i+j;
2.有定义
#define M(x) x*x/2
int a=2,b=3;
则M(a+b)/M(a) 的值为__8_______。
4.以下函数的功能是:求两整数的差,并返回。
int sub ( int a,int b)
{
__return___ a-b;
}
5.以下程序段的执行结果是___-4____。
main()
{
int a=2;a+=a-=a*a;
printf("a=%dn",a);
}
6.将变量a、b中的大数赋给变量c 的表达式为
_c=a>b?a:b__________。
7.C语言用___分号_________表示每条语句的结束。
8.若有int a[3]={10,12,30};则*(a+2)=___30________。
data1
{ char name[6];
char sex;
int age;
}x;
则:printf("%d ",sizeof(x))的结果是:__6_______。
10.若for循环是当型循环,则do--while 循环是___直到型循环
_________ 。
2.以下函数中,若m=10,则函数共输出___4____行。
void sub(int m,int s[ ] )
{
int n;
for (n=1;n<=m;n++)
{ printf("%2d",s[n]);
if (!(n%3)) printf("n"); }
}
3.在使用标准数学函数时,必须在程序开头部分使用#include
___________命令。
(s1,s2 ) 函数需要两个参数s1、s2,它们的类型可以是
字符串或字符型指针。
5.计算表达式a=20/2%3 后,a 的值为__1______。
6.设有类型说明如下:
int a[10]={1,2,3,4,5,6},*p=a;
则*(p+3)=______4___。
7.构成C语言程序的基本单位是____函数____________。
8.有定义int a[][4]={{10,12},{1,30,3},{2}};则数组a中有
____12______个元素。
9.有定义long k=255793L;若使输出结果是255793的语句为
____printf(“%ld”,k);____________。
10.定义标识符PI为符号常量代表一个“3.14”这个字符串
__#define PI 3.14____。
2.用以下语句调用库函数malloc,使字符指针st指向具有11个
字节的动态存储空间,请填空。
st=(char*)malloc(11); _______________________。
3.设char ch='a’;则ch对应的内存单元中存储的是常量'a'的
__ASCII______码。
7.若int x=3,则表达式x+=x-=x*=5运算后,x的值为___0____。
8.C语言中,头文件的扩展名是_____.h__________。
9.C语言中用______’0’__________表示字符串结束的标志。
x[2][3],* p; p=&x[0][0]; 用_*(p+4)_________ 表示x[1][1]。
1.执行以下程序的输出结果是_______。
main()
{ int n1,n2=7654;
while(n2!=0) {
n1=n2%10;n2=n2/10;printf("%d",n1);}
}
3.定义标识符fp 为文件型指针变量的语句为_FILE *fp;__________。
4.指针变量所代表存储单元是用来存放_变量的地址_________的。
5.以下程序段的执行结果是_fffe______。
int a=-2;
printf("%x",a);
6.若有以下定义:
double w[10];
则w数组元素下标的上限为_9________。
7.在TC 2.0中Ctrl+F9的功能是编译、_连接______和运行。
8.在C程序中有三种逻辑运算符,它们是:!、&&和____||_____。
9.设int i=3.56;则i对应的存储单元中存放的数值为__3_____。
10.跳过循环体中其后尚未执行的语句,而开始执行下一次是否循
环的判定的语句是_____continue;________。
1.局部变量从存储类别可分为auto、register、_static__________
三种。
2.有定义#define M(x) x*x
int a=3,b=2;
则M(a+b)/M(a+b) 的值为_17______________。
{a,b=3,c,d=6,e} k;
k=e;
k的值为___7_____ 。
5.在C语言中,16位微型机int型数据所占用的内存为___2___个
字节。
6.表示3 1.设有类型说明如下: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 若数组所占内存单元的起始地址为2000,则p+5=_2010_______。 2.C语言程序的注释是以___*_________开头的。 3.将十进制整数123,化为二进制数为___1111011______________。 4.若int x ;表示x为奇数的表达式为____x%2==1_____________。 5.以下程序运行结果是___8___________。 main() { int m=6; if(m++>5) printf("%d",++m); else printf("%d",m--);} 6.若使用库函数sin(x),则必须使用______#include ____________ 预处理命令。 7.在C语言中对文件读写使用结束之后应该用__fclose______函数 关闭文件。 第2 1、局部变量的存储类型可以是_abd___。 er 2、下列属于双目运算符的是_abd___。 A.+= B.> C., D.>> E.?: 3、下列属于程序控制语句的是_bcde___。 a; (a>b)t=a; (i=0;i (x>0)x--; n; 4、下列关于"switch(表达式)"语句说法正确的是abcd____。 语句是多分支语句 后的(表达式)允许是任何类型 语句中允许有一个default子句,也可以没有 语句中的每个case子句的常量表达式的值必须互不相同 语句中的每个case子句必须有一个break语句 5、下列语句定义数组正确的是bd____。 a(10); a[2+9]; arr[0 to 3][0 to 4]; arr[3][4]; [3,4]; 6、下列合法标识符是_cd___。 D.a3_b3 7、5.下列格式控制字符中能够输出整型数据的是abcd____。 A.%d B.%ld C.%lo D.%x E.%lf 8、若有以下程序段,并且w和k都是整型变量: for(w=1;w<=k;w++) printf("*"); 则与上面程序段等价的循环语句是_abcd___。 (w=k;w!=0;w--) printf("*"); B.w=k; while(w--!=0) printf("*") C.w=k; do { w--; printf("*"); }while(w!=0); (w=k;w;--w) printf("*"); E.w=k; for(k=1;k printf("*"); 9、函数的类型可以是abce____。 * f 10、下列正确的赋值语句是_ade___。 A.n=(i2,i++); B.j++; C.++(i+1); D.x=j>0; E.y=a>b?a:b; 11、下列说法正确的是bcde____。 A.在C程序中,无论是整数还是实数,都能被准确地表示 B.在C程序中,声明变量时为变量开辟内存空间 C.静态变量的生存期与整个程序的运行期相同 D.C语言中变量必须先说明后引用 E.C语言中空语句是合法的 12、C语言提供的逻辑运算符有_bde___。 B.|| D.&& E.! 13、下列语句中能够判断整型变量a、b、c的值是否能够构成三 角形的语句是bc____。 (a+b>c && a-b (a+b>c && a+c>b && b+c>a) (a-b (a-b (a+b>c) 14、在下列选项中,构成死循环的程序段是_abde___。 i=100; while(1) { i=i%100+1; if(i>100)break; } (;;) k=1000; do { ++k;}while(k>=10000); s=36; while(s);--s; (i=1;;i++); 15、下列关于符号常量正确的是_ade___。 A.符号常量用标识符表示 B.符号常量不允许被修改 C.符号常量允许在程序运行中改变 D.#define N 10 E.符号常量没有值和类型的含义 16、下列不合法的实型常量有_abd___。 A.5E2.0 B.E-3 C.2E0 D.1.3E E.2E2 17、把字符串"hello"赋给数组b的语句是_acde___。 b[10]={'h','e','l','l','o'}; b[10];b="hello"; b[10];strcpy(b,"hello"); b[]="hello"; b[]={'h','e','l','l','o','0'}; 18、可以不要进行函数原型声明的函数是_bc___。 A.被调用函数的数据类型是int
版权声明:本文标题:C语言练习题和答案(新) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1714103758a665829.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论