C语言基础练习100题(含答案)
雷柳青编排

1、下面程序的输出是________
#include<stdio。h>
void main()
{ int k=11;
  printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A) k=11,k=12,k=11          B) k=11,k=13,k=13
C) k=11,k=013,k=0xb        D) 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) 65        D) A
4、字符(char)型数据在微机内存中的存储形式是____。
A) 反码  B) 补码  C) EBCDIC码  D) ASCII码
5、设 int a=12,则执行完语句a+=a—=a*a后,a的值是________
A) 552        B) 264      C) 144        D) -264
6、执行下面程序中的输出语句后,输出结果是______.
#include<stdio。h>
void main()
{int a;
printf("%d\n",(a=3*5,a*4,a+5));
A) 65        B) 20        C) 15        D) 10
7、下面程序的输出是__________。
#include〈stdio。h〉
void main()
{int x=023;
printf("%d\n",—-x);
printf输出格式%b}
A) 17        B) 18        C) 23      D) 24
8、下面程序的输出是___________。
#include<stdio.h>
void main()
{char ch1,ch2;
ch1='A’+'5'—'3’;
ch2=’A'+'6'-’3';
printf("%d,%c\n”,ch1,ch2);
}
A) 67,D      B) B,C    C) C,D  D) 不确定的值
9、以下程序的输出结果是________。
#include〈stdio.h〉
void main()
{ int x=10,y=10;
  printf(”%d %d\n",x——,--y);
}
A) 10 10        B) 9 9      C) 9 10      D) 10 9
10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
  printf(”%d",(x,y));
上面程序片段的输出结果是_______.
A) 200      B) 100
C) 100 200    D) 输出格式符不够,输出不确定的值
11、阅读下面的程序
#include〈stdio.h〉
void main()
  int i,j;
  i=010;
  j=9;
  printf("%d,%d",i—j,i+j);
}
则程序的运行结果是________。
A) 1,19    B) -1,19C) 1,17      D) —1,17
12、阅读下面的程序
#include<stdio.h〉
void main()
  int i,j,m,n;
  i=8;j=10;
  m=++i;
  n=j++;
  printf("%d,%d,%d,%d”,i,j,m,n);
}
程序的运行结果是_________.
A) 8,10,8,10            B) 9,11,8,10
C) 9,11,9,10            D) 9,10,9,11
13、若已定义int a,则表达式a=10,a+10,a++的值是___.
A) 20        B) 10        C) 21        D) 11
14、阅读下面的程序
#include<stdio.h>
void main()
int i,j;
scanf(”%3d%2d",&i,&j);
printf("i=%d,j=%d\n",i,j);
如果从键盘上输入1234567<回车>,则程序的运行结果是________。
A) i=123,j=4567    B) i=1234,j=567 
C) i=1,j=2          D) i=123,j=45
15、下面程序的输出结果是________.
#include〈stdio。h>
void  main()
{
int a=-1, b=4, k;
k=(++a〈=0)&&(b-—〈=0);
printf(”%d,%d,%d\n",k,a,b);
A) 1,1,2      B) 1,0,3C) 0,1,2      D) 0,0,3
16、下面程序的输出结果是_______。
#include<stdio。h〉
void main()
{
  int a=5,b=3;
  float x=3。14, y=6。5;
  printf("%d,%d\n",a+b!=a-b,x<=(y-=6。1));
}
A) 1,0        B) 0,1C) 1,1        D) 0,0
17、若有以下定义和语句:
    int a=010, b=0x10, c=10;
    printf(”%d,%d,%d\n”,a,b,c);
则输出结果是_________.
A) 10,10,10    B) 8,16,10  C) 8,10,10    D) 8,8,10
18、已知有double型变量x=2.5,y=4。7,整型变量a=7,
则表达式 x+a%3*(int)(x+y)%2/4 的值是_________。
A) 2。4        B) 2。5        C) 2.75      D) 0
19、设有以下语句:int x=10;x+=3+x%3,则x的值是._________
A) 14        B) 15        C) 11        D) 12
20、若d为double型变量,则表达式d=1,d+5,d++的值是_______。
A) 1        B) 6。0  C) 2。0      D) 1.0
21、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.
A) 0    B) 1          C) 12        D) 6
22、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.
A) 0      B) 2          C) 1.5        D) 1
23、在C语言中,以下叙述不正确的是________.
A) 在C程序中,无论是整数还是实数,都能被准确无误的表示
B) 在C程序中,变量名代表存储器中的一个位置
C) 静态变量的生存期与整个程序的生存期相同
D) C语言中变量必须先定义后引用
24、设a为整型变量,不能正确表达数学关系10〈a〈15的C语言表达式是________.
A) 10〈a<15        B) a==11||a==12||a==13||a==14
C) a>10&&a<15    D) !(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〉