出自:兰州大学-C语言程序设计

若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上)( ) A. i*m+j B. j*m+I C. i*m+j-1 D. i*m+j+1
不属于面向机器语言的是( ) A. 符号语言 B. 二进制语言 C. 汇编语言 D. C语言
若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是( ) A. &p B. a++ C. &(p+1) D. &p[i]
下面对typedef不正确的叙述是 A. 用typedef可以定义各种类型名,但不能用来定义变量 B. 用typedef可以增加新的基本数据类型 C. 用typedef只是将已存在的类型用一个新的标识符表示 D. 使用typedef有利于程序的通用和移植 E.
若有以下定义:char s[10]=.include.,*p=s;则不能代表字符u的表达式是( ) A. s[4] B. s+4 C. *(p+4) D. p+=4,*p
C语言中while和do while循环的主要区别是( ) A. do-while的循环至少无条件执行一次 B. while循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转入到循环体内 D. do-while的循环体不能是复合语句
以下不正确的定义语句是( ) A. double x[5]={2.0,4.0,6.0,8.0,10.0} B. int y[5]={0,1,3,5,7,9} C. char c1[]={.1.,.2.,.3.,.4.,.5.} D. char c2[]={.\x10.,.\xa.,.\x8.}
main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf(.%d,%d.,x,x&&!y||z);}程序的运行结果是1,1
在C 语言中,指针类型属于构造类型
C语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量
已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数scanf(.%o%x%e.,&i,&j,&x);调用语句的数据输入形式是-12ucu4.1034e2(u代表空格)
设整型变量a和b的值分别为8和9。printf(.%d,%d.,(a++,++b),b--);的输出是( ) A. 8,8 B. 8,7 C. 9,9 D. 10,9
设以下变量均为int类型,则值不等于7的表达式是( ) A. x=y=6,x+y,x+1 B. x=y=6,x+y,y+1 C. x=6,x+1,y=6,x+y D. y=6,y+1,x=y,x+1
语句while(!E);中的!E等价于( ) A. E= =0 B. E!=1 C. E!=0 D. E= =1
设有说明:char *str[10];则标识符str的意义是( ) A. str是一个指向有10个元素的数组的指针 B. str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型 C. str是一个指向char型函数的指针 D. str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
以下程序的运行结果为( )#include main(){struct date{int year,month,day;}today; printf(.%d .,sizeof(struct date));} A. 6 B. 8 C. 10 D. 12
若以.a+.方式打开一个已存在的文件,则以下叙述正确的是( ) A. 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和修改操作 B. 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读写操作 C. 文件打开时,原有文件内容被删除,只可作写操作 D. 以上叙述皆不正确
若i是int型变量,且有下面的程序片段i=0;if(i<=0) printf(.####.) else printf(.****.);上面程序片段的输出结果是( ) A. #### B. **** C. ####**** D. 有语法错误,无输出结果
若要求表示a不等于0的关系,错误的表达式是( ) A. a<>0 B. a!=0 C. a D. a<0| |a>0
根据题目中已给出的数据输入和输出形式,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),printf(.\nx+y=%4.2f.,x+y) B. scanf(.%d%f.,&x,&y),printf(.\nx+y=%4.2f.,x+y) C. scanf(.%d%f.,&x,&y),printf(.\nx+y=%6.1f.,x+y) D. scanf(.%d%3.1f.,&x,&y),printf(.\nx+y=%4.2f.,x+y)
以下不正确的说法为( ) A. 在不同函数中可以使用相同名字的变量 B. 形式参数是局部变量 C. 在函数内定义的变量只在本函数范围内有效 D. 在函数内的复合语句中定义的变量在本函数范围内有效
判断char型变量ch是否为大写字母的正确表达式为( ) A. A.<=ch<=.Z. B. (ch>=.A.)&(ch<=.Z.) C. (ch>=.A.)&&(ch<=.Z.) D. (.A.<=ch)AND(.Z.>=ch)
写出下面程序的输出结果( )main(){int i,j;i=20;j=(++i)+i;printf(.%d.,j);i=13;printf(.%d %d),i++,i);} A. 42 14,13 B. 41 14,14 C. 42 13 13 D. 42 13 14
C语言中没有真正的多维数组
有一个函数原型如下所示: abc(float x,double y); 则该函数的返回类型为 A. void B. double C. int D. float
设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( ) A. 1 B. 2 C. 3 D. 4
设有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的输出结果是( ) A. 运行错误 B. 100 C. i的地址 D. j的地址
若有以下定义,int a,b;float x; 则正确的赋值语句是( ) A. a=1,b=2 B. b++ C. a=b=5 D. b=int(x)
设有以下定义int k=7, x=12;,则能使值为3的表达式是( ) A. x%=(k%=5) B. x%=(k-k%5) C. x%=k D. (x%=k)-(k%=5)
程序段的基本结构中,不包含( ) A. 函数结构 B. 循环结构 C. 顺序结构 D. 分支结构
设有以下结构体定义:struct emproyer{char name[8];int age;char sex;}staff;则下面的叙述不正确的是( ) A. struct是结构体类型的关键字 B. struct emproyer是用户定义的结构体类型 C. staff是用户定义的结构体类型名 D. nameage和sex都是结构体成员名
以下程序的运行结果是( )#include main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(.%d,%d.,a,b);} A. 6,1 B. 2,1 C. 6,0 D. 2,0
设有以下程序片段:char a[ ]=.hello.,*p;p=a;printf(.%d.,*(p+5));执行上面的程序片段后的结果为( ) A. 111 B. 0 C. 104 D. 不确定的值
以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20; printf(.%d,%d,%d .,x,y,z); } A. 20,20,20 B. 32,16,20 C. 16,32,20 D. 20,32,20
执行以下程序后的输出结果是( )int w=3,z=7,x=10;printf(.%d.,x>10?x+100:x-10);printf(.%d.,w++||z++);printf(.%d.,!w>z);printf(.%d.,w&&z); A. 0111 B. 1111 C. 0101 D. 0100
在位运算中,操作数每左移2位,相当于( ) A. 操作数*2 B. 操作数/2 C. 操作数*4 D. 操作数/4
C语言是解释性语言
C语言中的main函数必须位于程序的最前面
在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码( ) A. 大32 B. 大64 C. 小32 D. 小64
设有以下程序片段:char s[ ]=.Program!.;char *p;p=s;则执行完上面的程序段后,*(p+8)的值为( ) A. !. B. .\0. C. .m. D. 不定值
若数组a有m列,则ali][j]之前的数组元素个数为( ) A. (i-1)*(i-1) B. i*m+j+1 C. i*m+j-1 D. i*m+j
若fp已正确定义并指向某个文件,当未遇到该文件结束标志时,函数feof(fp)值 A. 0 B. 1 C. -1 D. 一个非0值的
struct st {int age;int num;}stul, *p; p=&stul;以下对结构体变量stul中成员age的非法引用是( ) A. stul.age B. age C. p-->age D. (*p).age
在C语言中,全局变量的隐含存储类别是 A. static B. extern C. void D. register
若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示 A. 已读到此文件末尾 B. 未读到此文件的末尾 C. 此文件已关闭 D. 此文件尚未被打开
下列字符串是标识符的是( ) A. _HJ B. 9_student C. long D. LINE 1
C语言规定,函数返回值的类型是由( )所决定。 A. return语句中的表达式类型 B. 调用该函数时的主调函数类型 C. 调用该函数是系统临时指定 D. 在定义该函数时所指定的函数类型
定义如下变量和数组:int k,a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf(.%d .,a[k][2-k]); A. 3 5 7 B. 3 6 9 C. 1 5 9 D. 1 4 7
C语言中形参到实参传递是双向的
int k=0;do{++k;}while(k>=0);是无限循环的语句