一、选择题(共25题,每题2分)
1.以下叙述正确的是(c)。
A.在C程序中main函数必须位于程序的最前面
B.C程序的每一行中只能写一条语句
C.C语言本身没有输入输出语句
switch case判断字符串D.C程序的执行总是从其第一个函数开始
2.一个C程序的执行是从(a)。
A.main()函数开始,直到main()函数结束
B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束
D.main()函数开始,直到最后一个函数结束
3.以下说法错误的是(d)。
A.实型常量只能用十进制小数和指数两种表示形式
B.0.875、0.0、12.0、875.、.342是十进制小数形式的实型常量
C.1.23e4、1.23E4、1.23E+4、3141.59e-3是指数形式的实型常量
D.实型常量也可以用八进制或十六进制形式表示
4.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围是(c)。
A.0~255          B.0~32767        C.0~65535        D.0~2147483647
5.对于printf函数,在用m.n形式指定宽度时,以下说法错误的是(d):
A.语句printf("\n%5s","abcdefghij");的输出是:abcdefghij
B.语句printf("\n%.5s","abcdefghij");的输出是:abcde
C.语句printf("\n%7.5s","abcdefghij");的输出是:ΔΔabcde
D.语句printf("\n%5s","abcdefghij");的输出是:abcde
6.阅读以下程序,当输入数据的形式为:25,13,10<CR>(注:<CR>表示回车),则正确的输出结果为(d)。
    main()
    {    int x,y,z;
scanf("%d%d%d" ,&x,&y,&z);
printf("x+y+z=%d\n" ,x+y+z);
}
A. x+y+z=48      B.x+y+z=35      C. x+z=35          D.不确定值
7.由给出的数据输入和输出形式,程序中输入输出语句的正确内容是(b)。
main()
{
int x;  float y;
printf(" enter x, y: ")
输入语句
输出语句
}
输入形式    enter x, y: 2 3.4
输出形式x+y=5.40
A.scanf("%d,%f",&x,&y);B.scanf("%d%f",&x,&y);
printf("\nx+y=%4.2f",x+y);printf("\nx+y=%4.2f",x+y);
C.scanf("%d%f",&x,&y);    D.scanf(" %d%3.1f",&x,&y);
printf("\nx+y=%6.1f",x+y);    printf("\nx+y=%4.2f",x+y);
8.若有定义int x, *p; 则以下正确的赋值表达式是(c)。
A.p=&x        B.p=x          C.*p=&x          D.*p=*x
9.对于数组a[3][5],表示第1行第2列元素地址的表达式是(c)。
A.a[2],a+2,*a+2                B.*(a[1]+2),*(*(a+1)+2),a[1][2]
C.a[1]+2,*(a+1)+2,&a[1][2]    D.a[2]+1,*(a+2)
10.以下关于运算符优先顺序的描述中正确的是(c)。
  A.关系运算符<算术运算符<赋值运算符<逻辑与运算符
    B.逻辑与运算符<关系运算符<算术运算符<赋值运算符
    C.赋值运算符<逻辑与运算符<关系运算符<算术运算符
  D.算术运算符<关系运算符<赋值运算符<逻辑与运算符
11.指出下列程序段所表示的逻辑关系是(若a<b且c=d,则x=10,若a>=b,x=-10)。
if(a<b)
{ if(c= =d)  x=10 ;  }
else
x=-10;
A.        B.
C.        D.
12.若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是(d)。
A.switch (a+b);                    B.switch a
{ case 1: y=a+b; break;              {  case c1: y=a-b; break;
case 0: y=a-b;                        case c2: x=a*d; break;
break;                      default: x=a+b;
  }                                }
C.switch (a*a+b*b)                D.switch(a-b)
{ case 3:                          {  default: y=a*b; break;
case 1: y=a+b; break;                case 3: x=a+b; break;
case 3: y=b-a; break;                case 10: case 11: y=a-b; break;
}                                }
13.执行下列程序,输入为3的输出结果是(a)。
#include ”stdio.h”
main()
{  int k;
scanf(”%d”, &k);
switch(k)
{  case 1: printf(”%d\n”, k++);
case 2: printf(”%d\n”, k++);
case 3: printf(”%d\n”, k++);
case 4: printf(”%d\n”, k++);  break;
default: printf(”Full!\n”);
}
}
A.3          B.4              C.3                D.4
4                    4
14.当执行以下程序段时(a)。
x=-1;
do
{x=x*x;}
while (!x);
A.循环体将执行一次      B.循环体将执行两次
C.循环体将执行无数次    D.系统将提示有语法错误
15.以下程序的输出结果为(d)。
main( )
char s1[40]="country",s2[20]="side";
int i=0,j=0;
while(s1[i]!='\0')  i++;
while(s2[j]!='\0')  s1[i++]=s2[j++];
s1[i]= '\0';
printf("%s\n",s1);
}
A. side            B. country        C.sidetry      D.countryside
16.判断字符串 s1 是否大于字符串 s2 ,应当使用(d)。
A.  if ( s1>s2 )                    B.if ( strcmp( s1, s2 ))
C.  if ( strcmp( s2, s1 )>0)        D.if ( strcmp( s1, s2 )>0)
17.以下正确的说法是(  b )。
    A.用户若需调用标准库函数,调用前必须重新定义
    B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
    C.系统根本不允许用户重新定义标准库函数
D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统会自动去调用
18.以下程序有语法性错误,有关错误原因的正确说法是(  函数说明和函数调用语句之间有矛盾 )。
main()
{ int G=5,k;
void  prt_char();
    k=prt_char(G);
    …
}
19.在C语言程序中以下正确的描述是(  b )。
    A.函数的定义可以嵌套,但函数的调用不可以嵌套
    B.函数的定义不可以嵌套,但函数的调用可以嵌套
    C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
20.阅读程序,说出程序的运行结果 ( b )。
    #define  ADD(x)  x+x
main()
{ int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
printf("sum=%d",sum);
}   
A.sum=9          B.sum=10        C.sum=12        D.sum=18
21.以下定义,能输出字母M的语句是(c)。
struct  person{ char name[9];  int age;};
struct  person class[10]={“John”,17,“Paul”, 19,“Mary”,18,“Madam”,16};
A.printf(“%c\n”,class[3].name);    B.printf(“%c\n”,class[3].name[1]);
C.printf(“%c\n”,class[2].name[0]);  D.printf(“%c\n”,class[2].name[1]);
22.以下能正确进行字符串赋值、赋初值的语句组是(b)。
A.chars[5]='a','e','i','o','u';          B.char *s;  s="good!";
C.chars[5]="good!";                      D.char s[5];  s="good";   
23.在宏定义#define PI  3.14159中,宏名PI代替的是一个( d  )。

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