k:
(c
c:
a));}
A、5B、3C、2D、1
●若有说明:
inta[3][4];则对a数组元素的非法引用是()。
A、a[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]
●对两个数组a和b进行如下初始化:
chara[]=”ABCDEF”;
charb[]={‘A’,’B’,’C’,’D’,’E’,’F’};
则以下叙述正确的是()。
A、a与b数组完全相同B、a和b中部存放字符串
C、a与b长度相同D、a数组比b数组长度长
●下面程序运行的结果是()。
voidmain()
{charch[7]=”65ab21”;
inti,s=0;
for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2)
s=10*s+ch[i]-‘0’;
printf(“%d\n”,s);
}
A、2ba56B、6521C、6D、62
●C语言程序编译时,程序中的注释部分将()。
A、参加编译,并会出现在目标程序中
B、参加编译,但不会出现在目标程序中
C、不参加编译,也不会出现在目标程序中
D、不参加编译,但会出现在目标程序中
●以下程序的输出结果是()。
voidmain()
{
inta=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
printf(“%d”,a);
}
A、31B、13C、10D、20
●以下正确的说法是()。
在C语言中A、实参和与其对应的形参各占用独立的存储单元
B、实参和与其对应的形参共占用一个存储单元
C、只有当实参和与其对应的形参同名时才共占用存储单元
D、形参是虚拟的,不占用存储单元
●关于C语言数组的正确描述是()
A、数组的大小是固定的,数组中元素的类型可以不同
B、数组的大小是可变的,数组中元素的类型必须相同
C、数组的大小是固定的,数组中元素的类型必须相同
D、数组的大小是可变的,数组中元素的类型可以不同
●下列关于break语句的叙述中,不正确的是()。
A、break语句可用在循环体中,它将使流程跳出本层循环体
B、break语句可用在switch语句中,它将使流程跳出当前switch语句
C、break语句可用在if语句中,它将使流程跳出当前if语句
D、break语句在一层循环体中可以出现多次
●下列函数声明中,正确的是()。
A、voidmyfun(inta,b);B、voidmyfun(inta,intb);
C、voidmyfun(inta;intb);D、voidmyfun(intaintb);
●若要交换int型变量x和y的值,正确的语句是()。
A、x=y;B、inttemp=x;x=y;y=temp;
C、y=x;D、inttemp=x;y=x;x=y;
●已知函数原型为voidfun(int*),则下列选项中,正确的函数调用是()。
A、doublex=3.45;fun(x);B、inta=15;fun(a*3.14);
C、intb=100;fun(&b);D、fun(256);
●若有宏定义:
#defineMOD(x,y)x%y,则执行以下语句后的输出结果为()。
intz,a=15,b=l00;
z=MOD(b,a);b%a
printf(“%d\n”,z);
A、11B、10C、6D、宏定义不合法
●程序中通过调用库函数中字符串函数来实现字符串操作,需通过()命令将string.h文件包含到该程序中。
A、#defineB、#includeC、#ifD、#iend
●变量指针的含义是指该变量的()。
A、值B、地址C、名D、一个标志
●若已定义inta=5;下面对
(1),
(2)两个语句的正确解释是()。
(1)int*p=&a;
(2)*p=a;
A、语句
(1)和
(2)中的*p含义相同,都表示绐指针变量p赋值
B、
(1)和
(2)语句的执行结果,都是把变量a的地址值赋给指针变量p
C、
(1)在对p进行说明的同时进行初始化,使p指向a
(2)将变量a的值赋给指针变量p
D、
(1)在对p进行说明的同时进行初始化,使p指向a
(2)将变量a的值赋于*p
●若有定义:
inta[4][3],则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为()。
A、*(*(a+i)+j)B、(a+i)[j]C、*(a+i+j)D、*(a+i)+j
●若有以下说明和语句:
structstudent
{
intage;
intnum;
}std,*p;
p=&std;
则以下对结构体变量std中成员age的引用方式中,不正确的是()。
A、std.ageB、p->ageC、(*p).ageD、*p.age
●函数调用语句:
fseek(fp,-20L,2);的含义是()。
A、将文件位置指针移到距离文件头20个字节处
B、将文件位置指针从当前位置向后移动20个字节
C、将文件位置指针从文件末尾处向后退20个子节
D、将文件位置指针移到离当前位置20个字节处
●字符串”VB\tVC\tJAVA\n”的长度为()。
A、14B、8C、11D、12
●若已知inta=10,b=20;则表达式!
a
A、10B、20C、0D、1
●若有代数式
则错误的C语言表达式是( )
A、a/b/c*eB、a*e/b*c
C、a*e/b/cD、a*e/c/b
●在C语言中定义某内部变量时,如省略了存贮类型符,则系统将其默认为()
A、寄存器型B、自动型
C、静态型D、非法
●栈的插入与删除操作是在()进行的。
A、栈顶B、栈底C、任意位置D、指定位置
●设int型变量n的值为2,执行语句:
n+=n*n;后,n的值为( )。
A、2B、4C、6D、16
●假设已定义x和y为double类型,则表达式x=1,y=x+5/2的值是()
A、1B、3C、3.0D、3.5
●当调用函数时,实参是一个数组名,则向被调用函数传送的是( )
A、数组的长度B、数组的首地址
C、数组每一个元素的地址D、数组每个元素中的值
●以下数组定义中不正确的是()
A、inta[2][3];
B、intb[][3]={0,1,2,3};inta[]={1,2,3,4}
C、intc[100][100]={0};
D、intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
●下面有关for循环的正确描述是()
A、在for循环中,它只能用于循环次数已经确定的情况
B、在for循环中,要先执行循环体语句,后判断表达式决定下次循环
C、在for循环中,不能用break语句跳出循环体
D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
●下列表达式中值为false(假)的是()。
A、1<3&&5<7B、!
(5<10)
C、11&&0x01D、!
(4<7)||(2<8)
●以下函数调用语句中实参的个数()。
excc((v1+v2),(v3+v4+v5),v6);
A、3B、4C、5D、6
●以下程序段()。
x=-1;
do
{
x=x*x;
}while(x);
A、是死循环B、循环执行一次C、循环执行二次D、有语法错误
●已知字母a的ASCII码为十进制97,且设ch为字符变量,则表达式ch=‘a’+’8’-’3’的值()
A、103B、CC、fD、F
●下面程序的运行结果是()
#include
voidmain()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf(“x=%d\n”,x);
}
A、x=4B、x=8C、x=6D、x=12
●能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是()
A、a>=10ora<=0B、a>=0|a<=10
C、a>=10&&a<=0D、a>=10‖a<=0
●定义如下变量和数组:
inti;
intx[3][3]={{9,8,7},{6,5,4},{3,2,1}};
则下面语句的输出结果是(
for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);
A、753B、741C、951D、963
●在一个被调函数中,关于return语句使用的中,错误的是()
A、被调函数中可以没有return语句
B、被调函数中可以使用多个return语句
C、被调函数中,如果有返回值,就一定要有return语句
D、被调函数中,一句return语句可以返回多个值给主调函数
●C语言printf()函数中的控制符”\n”的作用是()
A、换行B、回车C、换页D、退格
●C语言中运算对象必须是整型的运算符是()
A、%=B、/C、=D、〈=
●有如下程序:
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;break;
case1:
a++;break;
case2:
a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
该程序的输出结果是()
A、a=2,b=1B、a=1,b=0
C、a=0,b=1D、a=2,b=2
●对长度为n的线性表进行顺序查找,平均的比较次数为()
A、log2nB、n/2C、(n+1)/2D、n+1
●判断字符串s1是否大于s2,应当使用()。
A、if(s1>s2)B.if(strcmp(s1,s2))
C.if(strcmp(s1,s2)>0)D.if(strcmp(s2,s1)>0)
●若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()
A、intp=&x;B、int*p=x;
C、int*p=&x;D、*p=*x;
●下列关于#include“test.h”与#include〈test.h〉的叙述中,正确的是()。
A、#include“test.h”仅仅搜索当前目录
B、#include仅仅搜索源程序所在目录
C、#include“test.h”直接按系统设定的标准方式搜索目录
D、#include“test.h”先在源程序所在目录搜索,再按系统设定的标准方式搜索
●设有以下说明语句
structstu
{inta;
floatb;
}stutype;
则下面的叙述不正确的是()
A、struct是结构体类型的关键字
B、stuctstu是用户定义的结构体