二,填空题(10道小题,共20分)
1、一个C源程序中至少应包含一个[main] 函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2]
3、int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16]
4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1]
5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型
6、当运行以下程序时,从键盘键入right?<CR>(<CR>代表回车),则下面程序的运行结果是。
#include<stdio.h>
main( )
{  char c;
while((c=getchar())! ='?')  putchar(++c)
}
[sjhiu?]
7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。
9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2]
10、以下程序
void  fun(char  *a,  char  *b)
{  a=b;    (*a)++; }
main ()
{ char  c1="A", c2="a", *p1, *p2;
p1=&c1;  p2=&c2;  fun(p1,p2);
printf(“&c&c\n”,c1,c2);
}
运行后的输出结果是 。[&c&c]
11、字符串常量“123”在内存中的字节数是 。[8字节]
12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是 。【4】
13、int a=24; printf("%o ", a );输出结果是 。【30】
14、当a=3,b=2,c=1时,表达式f=a>b>c的值是 。【0】
15、下面程序的运行结果是 。【x=1,y=20
#include<stdio.h>
main()
{ int i,x,y;
  i=x=y=0;
  do {++i;
      if(i%2!=0)  {x=x+i;i++;}
      y=y+i++;
      } while (i<=7);
      printf("x=%d,y=%d\n",x,y);
}
16、以下语句char str[10]={"China"}; printf("%d",strlen(str))的输出结果是 。[5]
17、为了便于区别全局变量和局部变量,通常将全局变量的首字母 。[用大写字母表示]
18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf("%d,%d",p,*p);”的输出结果是 。【4000,5】
19、程序main()
    {  int a[2][3]={{1,2,3},{4,5,6}};
        int m,*ptr;
        ptr=&a[0][0];
        m=(*ptr)*(*(ptr+2))*(*(ptr+4));
        printf("%d\n",m);
}
的运行结果是 。【15】
20、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。
21、在C语言程序中,符号常量的定义要使用【宏定义】 预处理命令。
22、逻辑运算符!是[自右至左] 结合性。
23、下面的程序的运行结果是 。【s=254】
#include<stdio.h>
main( )
{int a,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7)  {n=n*a; s=s+n; ++count;}
printf("s=%d",s);
}
24[strcat]  (字符数组名1,字符数组名2)把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。
25、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是[整形] 。 
26、数组在内存中占用一段连续的存储空间,它的首地址由 【数组名】表示
27若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是 【12】
28、在一个C源程序中,注释部分二侧的分界符为 。【/*和*/】
29、在C语言程序中,转义字符“\n”的功能是 [换行]
30、当a=5,b=4,c=2时,表达式a>b!=c的值是 。【1】
32、在C语言程序中,用关键字定义字符型变量。
33若m是一个三位数,则百位数字为
34、执行下列语句:float a; int b; a = b =24.5/5; printf(“%f,%d” , a, b); 输出结果是 【4.0000
00,4】
35、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为,n的值为
36、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是 。[1]
37、当运行以下程序时,从键盘输入-1 0<CR>(<CR>表示回车),则下面程序的运行结果是 。[m=4,n=2]
#include<stdio.h>
main()
c 字符串转数组
{ int a,b,m,n;
  m=n=1;
  scanf("%d%d",&a,&b);
  do{ if(a>0)  {m=2*n;  b++;}
  else{n=m+n;  a+=2;  b++;}
        }while(a==b);
printf("m=%d n=%d",m,n);
}
38、C语言规定了以字符[\0] 作为字符串结束标志。
39、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上[static] 修饰。
40、对数组元素的引用方法有下标法和[指针法] 两种。
41、对于“int a[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a
有4个元素,每个元素都是[指针变量]
42、在C语言中,八进制整型常量以【0】 作为前缀。
43、已有定义 :int x=0,y=0;, 则计算表达式 :(x+=2,y=x+3/2,y+5) 后 , 表达式的值是 。【8】
44、下面程序段的运行结果是 【a=-5】。
int i=1,a=0,s=1;
do{a=a+s*i; s=-s; i++;} while (i<=10);
printf("a=%d",a);
45、要使指针变量与变量之间建立联系,可以用运算符[*] 来定义一个指针变量
46、设int a[10],*p=a;则对a[3]的引用可以是p[3]或 [*(p+3)]
47、C语言程序是由[函数] 构成的。
48、在C语言程序中,用关键字 【float】定义单精度实型变量。
49、若m是一个三位数,则十位数字为 [m/10-m/100*10]
50、int a=24; printf("%x ", a );输出结果是 。[18]
51、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式 。
[x<z||y<z]
52、下面程序的运行结果是 。[x=1,y=20]
#include<stdio.h>
main()
{ int i,x,y;
  i=x=y=0;
  do {++i;
      if(i%2!=0)  {x=x+i;i++;}
      y=y+i++;
      } while (i<=7);
      printf("x=%d,y=%d\n",x,y);
}
53、形式参数也是局部】变量。
54、以下程序
#include <stdio.h>
fun(int x, int y, int *cp, int *dp)
*cp=x+y;
*dp=x-y;
}
main( )
int a,b,c,d;
a=30; b=50;
fun(a, b, &c, &d);
printf("%d,%d\n", c, d);
return 0;
}
输出结果是 。 【80,-20】
55、程序main()
    {  int a[2][3]={{1,2,3},{4,5,6}};
        int m,*ptr;
        ptr=&a[0][0];
        m=(*ptr)*(*(ptr+2))*(*(ptr+4));
        printf("%d\n",m);
}
的运行结果是【15】
56、运算符%、*=、||、==中,优先级最低的是 。【*=】
57、在C语言中,"x"在内存中占【2】字节。
58、设y为int型变量,请写出描述“y是偶数”的表达式 。【y%2==0】
59、下面程序段中循环体的执行次数是[3次]
a=10;
b=0;
do{b+=2;a-=2+b; }while (a>=0);
60、程序的输出值是 。 [10]
#include<stdio.h>
void f(int  *p)
*p=10;
}
int  *p;
void  main( )
f(p);
printf("%d",(*p)++);
61、在C语言的赋值表达式中,赋值号左边必须是[变量]  。
62、当a=3,b=2,c=1时,表达式f=a>b>c的值是 。【0】
63、以下程序的输出结果是 。 [5,2,3]
#include<stdio.h>
int sub(int x, int y, int *z)
{ *z=x-y; }
main( )
int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
return 0;
}
64、下面程序的输出是 。 [k=2 a=3 b=2]
#include<stdio.h>
main(int argc, char argv[ ])
{
char *s="121";
int k=0, a=0, b=0;

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