C语言基础练习100题(含答案)
雷柳青编排
1、下面程序的输出是________
#include<stdio.h>
voidmain()
{intk=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A)k=11,k=12,k=11B)k=11,k=13,k=13
C)k=11,k=013,k=0xbD)k=11,k=13,k=b
2、在下列选项中,不正确的赋值语句是________.
A)++t;B)n1=(n2=(n3=0));
C)k=i=j;D)a=b+c=1;
3、下面合法的C语言字符常量是__________.
A)'\t'B)"A"C)65D)A
4、字符(char)型数据在微机内存中的存储形式是____.
A)反码B)补码C)EBCDIC码D)ASCII码
5、设inta=12,则执行完语句a+=a-=a*a后,a的值是________
A)552B)264      C)144D)-264
6、执行下面程序中的输出语句后,输出结果是______.
#include<stdio.h>
voidmain()
{inta;
printf("%d\n",(a=3*5,a*4,a+5));
}
A)65B)20        C)15D)10
7、下面程序的输出是__________.
#include<stdio.h>
voidmain()
{intx=023;
printf("%d\n",--x);
}
A)17B)18        C)23D)24
8、下面程序的输出是___________.
#include<stdio.h>
voidmain()
{charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A)67,DB)B,CC)C,DD)不确定的值
9、以下程序的输出结果是________.
#include<stdio.h>
voidmain()
{intx=10,y=10;
printf("%d%d\n",x--,--y);
}
A)1010B)99      C)910D)109
10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是_______.
A)200B)100
C)100200D)输出格式符不够,输出不确定的值
11、阅读下面的程序
#include<stdio.h>
voidmain()
{
inti,j;
i=010;
j=9;
printf("%d,%d",i-j,i+j);
}
则程序的运行结果是________.
A)1,19B)-1,19      C)1,17D)-1,17
12、阅读下面的程序
#include<stdio.h>
voidmain()
{
inti,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
程序的运行结果是_________.
A)8,10,8,10B)9,11,8,10
C)9,11,9,10D)9,10,9,11
13、若已定义inta,则表达式a=10,a+10,a++的值是___.
A)20B)10        C)21D)11
14、阅读下面的程序
#include<stdio.h>
voidmain()
{
inti,j;
scanf("%3d%2d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
如果从键盘上输入1234567<回车>,则程序的运行结果是________.
A)i=123,j=4567B)i=1234,j=567
C)i=1,j=2D)i=123,j=45
15、下面程序的输出结果是________.
#include<stdio.h>
voidmain()
{
inta=-1,b=4,k;
k=(++a<=0)&&(b--<=0);
printf("%d,%d,%d\n",k,a,b);
}
c编程必背100题A)1,1,2B)1,0,3    C)0,1,2D)0,0,3
16、下面程序的输出结果是_______.
#include<stdio.h>
voidmain()
{
inta=5,b=3;
floatx=3.14,y=6.5;
printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));
}
A)1,0B)0,1      C)1,1D)0,0
17、若有以下定义和语句:
inta=010,b=0x10,c=10;
printf("%d,%d,%d\n",a,b,c);
则输出结果是_________.
A)10,10,10B)8,16,10  C)8,10,10D)8,8,10
18、已知有double型变量x=2.5,y=4.7,整型变量a=7,
则表达式x+a%3*(int)(x+y)%2/4的值是_________.
A)2.4B)2.5        C)2.75D)0
19、设有以下语句:intx=10;x+=3+x%3,则x的值是._________
A)14B)15        C)11D)12
20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.
A)1B)6.0          C)2.0D)1.0
21、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值__________.
A)0B)1          C)12D)6
22、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.
A)0B)2          C)1.5D)1
23、在C语言中,以下叙述不正确的是________.
A)在C程序中,无论是整数还是实数,都能被准确无误的表示
B)在C程序中,变量名代表存储器中的一个位置
C)静态变量的生存期与整个程序的生存期相同
D)C语言中变量必须先定义后引用
24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________.
A)10<a<15B)a==11||a==12||a==13||a==14
C)a>10&&a<15D)!(a<=10)&&!(a>=15)
25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)
A)if(c=='32')B)if(c==32)
C)if(c=='\40')D)if(c=='')
26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.
#include<stdio.h>
voidmain()
{intk;charcp;
cp=getchar();
if(cp>='0'&&cp<='9')
k=cp-'0';
elseif(cp>='a'&&cp<='f')
k=cp-'a'+10;
elsek=cp-'A'+10;
printf("%d\n",k);
}
A)2B)4        C)1D)10
27、执行下面程序后,运行结果是________.
#include<stdio.h>
voidmain()
{intx=41,y=1;
if(x%3==0&&x%7==0)
{y+=x;printf("y=%d\n",y);}
else
{y=x;printf("y=%d",y);}
}
A)y=41B)y=43      C)y=42D)y=1
28、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.
#include<stdio.h>
voidmain()
{intx,y,z;
scanf("%d,%d,%d",&x,&y,&z);
if(x<y)
if(y<z)printf("%d\n",z);
elseprintf("%d\n",y);
elseif(x<z)printf("%d\n",z);
elseprintf("%d\n",x);