一、单项选择题(20分,每题2分)
1.程序段
int  *p,a;
p=&a;
a=10;
printf("%d",p);
的输出应为:
A)10        B)0        C)不能确定        D)语法错误
2C语言规定,简单变量作为实参时,他和对应形参之间的数据传递方式是:
    A)单向值传递    B) 地址传递    C) 相互传递  D) 由用户指定方式
3.以下语句或语句组中,能正确进行字符串赋值的是。
Achar *sp;*sp="right!";          Bchar s[10];s="right!";
Cchar s[10];*s="right!";        Dchar *sp="right!";
4for(i=0;i<10;i++)
if(i=5)  break;
则循环结束后i的值为
A)0        B)1        C)5        D)10
5.有以下程序
main()
{
int m,n,p;
    scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123n中的值为456p中的值为789,则正确的输入是。
Am=123n=456p=789          B m=123  n=456  p=789 
Cm=123,n=456,p=789    D123  456  789
6C语言中,最基本的数据类型包括:
A)整型、实型、逻辑型      B)整型、字符型、数组
C)整型、实型、字符型      D)整型、实型、结构体
7.以下说法正确的是
  A) C程序总是从第一个定义的函数开始执行
  B) C程序中,要调用的函数必须在main()函数中定义
  C) C程序总是从main()函数开始执行
  D) C程序的main()函数必须放在程序的开始部分
8.程序段
int *p, a=1;
p=&a;
*p=10;
a的值为:
A) 1      B) 10      C) 不能确定    D) 11
9.以下定义语句中,错误的是
A) int a[]={1,2};           B) char *a[3];
C) char s[10]="test";        D) int n=5,a[n];
10.假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是
A) 3          B) 6       C) 10        D) 20
二、填空题(30分,每空2分)
1.已知字符AACSII码值为65,以下语句的输出结果是  (1)   
  char ch=’B’;
  printf("%c %d\n",ch,ch);
2’a’在内存中占  (2)   请输入一个长度0和5之间的字符串 个字节,a”在内存中占  (3)    个字节。
3.若有int a[3][2] = {{1},{3,2},{4,5}};,则a[1][1]的值是  (4) 
4.有以下程序,执行后输出结果是  (5)   
main( )
{
int t=1,i=5;
    for(;i>=0;i--)  t*=i;
    printf("%d\n",t);
5.在循环语句中,break语句的作用是  (6)  continue语句的作用是  (7) 
6.下面程序段将字符数组b连接到数组a的后面。
main()
{
char a[20]= ."I am ";
char b[]= ."a student.";
int i, j;
i = strlen(a);
for(j =__(8)___;  b[j]!='\0';  j++)
{
a[__(9)__] = b[__(10)__];
}
a[___(11)__] = ___(12)___ ;
}
7for(表达式1;表达式2;表达式3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。