奥鹏西南交通大学《高级语言程序设计》在线作业一
奥鹏西南交通大学平时作业
西南交《高级语言程序设计》在线作业一
若k为整形,则while循环执行( )次。 k=2; while(k==0) printf(“%d”,k); k–; printf(“n”);
A:10
B:9
C:0
D:1
答案问询微信:424329
下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d\n, d*y); }
A:3
B:3.2
C:0
D:3.07
答案问询微信:424329
sizeof(float)是
A:一个双精度型表达式
B:一个整型表达式
C:一种函数调用
D:一个不合法的表达式
答案问询微信:424329
C语言中,能识别处理的文件为
A:文本文件和数据块文件
B:文本文件和二进制文件
C:流文件和文本文件
D:数据文件和二进制文件
答案问询微信:424329
选择下列程序的运行结果( ) main() { float x; int i; x=3.6; i=(int)x; printf(“%2.1f,%d”,x,i); }
A:3.6,4
B:3,3
C:3.6,3
D:4,3
答案问询微信:424329
下列各数据类型不属于构造类型的是
A:枚举型
B:共用型
C:结构型
D:数组型
答案问询微信:424329
下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(%d\n,*(p+2));}
A:3
B:4
C:1
D:2
答案问询微信:424329
C语言中运算对象必须是整型的运算符是( )
A:%
B:/
C:=
D:=
答案问询微信:424329
有如下程序 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=a[3],b;b=p[5]; 则b的值是
A:5
B:6
C:9
D:8
答案问询微信:424329
若有定义:int a[10], *p=a;,则p+5表示( )
A:元素a[5]的地址
B:元素a[5]的值
C:元素a[6]的地址
D:元素a[6]的值
答案问询微信:424329
以下说法中错误的是( )
A:a*=1;这个式子等价于a=a*1
B:a/=b+c;这个式子和a=a/b+c;等价
C:a/=b-c;这个式子等价于a=a/(b-c)
D:a*=b;这个式子等价于a=a*b
答案问询微信:424329
以下叙述中不正确的是
A:在不同的函数中可以使用相同的名字的变量
B:函数中的形式参数是局部变量
C:在一个函数内定义的变量只在本函数范围内有效
D:在一个函数内的复合语句中定义的变量在本函数范围内有效
答案问询微信:424329
函数Func的功能是( ) int Func(char *ptr) { char *p; p=ptr; while (*p++); return (p-ptr-1); }
A:比较两个字串的大小
B:求字符串的长度
C:将串ptr复制到p中
D:以上三种说法都不对
答案问询微信:424329
以下可作为函数fopen中第一个参数的正确格式是( )
A:c:usertext.tex
B:c:usertext.txt
C:“c:usertext.tex”
D:“c:\user\text.txt”
答案问询微信:424329
C语言存贮字符串时,用特殊字符( )表示字符串结束
A:’x0a’
B:’0’
C:13
D:’ ’
答案问询微信:424329
定义C函数时,不给出返回值类型,则默认的返回值类型是( )
A:float
B:void
C:int
D:NULL指针
答案问询微信:424329
若有以下说明语句,且0=i=10,则 ( )是对数组元素的错误引用。
A:-1,5
B:1,6
C:0,7
D:4,10
答案问询微信:424329
设有定义:int n=0,*p=n,**q=p,则下列选项中正确的赋值语句是
A:p=1;
B:*q=2;
C:q=p;
D:*p=5;
答案问询微信:424329
以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); … k=prt_char(G); … }
A:语句 void prt_char();有错,它是函数调用语句,不能用void说明
B:变量名不能使用大写字母
C:函数说明和函数调用语句之间有矛盾
D:函数名不能使用下划线
答案问询微信:424329
若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A:4
B:16
C:32
D:52
答案问询微信:424329
有如下程序: long fib(int n) { if(n2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf(%d\n,fib(3));} 该程序的输出结果是
A:2
B:4
C:6
D:8
答案问询微信:424329
以下程序有错,错误原因是 main() { int *p,i;char *q,ch; p=i; q=ch; *p=40; *p=*q; …… }
A:p和q的类型不一致,不能执行*p=*q;语句
B:*p中存放的是地址值,因此不能执行*p=40;语句
C:q没有指向具体的存储单元,所以*q没有实际意义
D:q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
答案问询微信:424329
下面程序段的运行结果是 char *format=%s,a=%d,b=%d\n; int a=11,b=10; a+=b; printf(format,a+=b,a,b);
A:for,a+=b,ab
B:format,a+=b
C:a+=b,a=21,b=10
D:以上结果都不对
答案问询微信:424329
请选出可用作C语言用户标识符的是
A:void,define,WORD
B:a3_b3,_123,IF
C:FOR,–abc,Case
D:2a,Do,Sizeof
答案问询微信:424329
请选出以下语句的输出结果 printf(%d\n,strlen(\t\\065\xff\n));
A:5
B:14
C:8
D:输出项不合法,无正常输出
答案问询微信:424329
以下正确的C标识符是( )
A:0XH
B:_80
C:main
D:#A$
答案问询微信:424329
C语言允许函数类型缺省定义,此时函数值隐含的类型是
A:float
B:int
C:long
D:double
答案问询微信:424329
在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A:a=20000+20000;
B:a=4000*10;
C:a=30000+10000;
D:a=4000L*10L
答案问询微信:424329
已知实型变量a存贮的是一个0–1之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75%)正确的打印语句是( )
A:printf(“%.2f%%”,a*100)
B:printf(“%.2f%”,a)
C:printf(“%.2f%%”,a/100)
D:printf(“%.2f%%”,100*(a+0.5))
答案问询微信:424329
下面能正确进行字符串赋值操作的是
A:char s[5]={ABCDE};
B:char s[5]={ A, B, C, D, E};
C:char *s;s=ABCDE;
D:char *s;char a; scanf(%s,s);
答案问询微信:424329
以下不正确的定义语句是
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};
答案问询微信:424329
以下不正确的叙述是
A:在C程序中,逗号运算符的优先级最低
B:在C程序中,APH和aph是两个不同的变量
C:若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D:当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
答案问询微信:424329
设有以下语句: char x=3,y=6,z; z=x^y2; 则z的二进制值是
A:00010100
B:00011011
C:00011100
D:00011000
答案问询微信:424329
若有宏定义:#define PI 3.14 #define S(r) PI*r*r 则主函数中语句s2=S(r+3);宏替换后的结果为( )
A:s2=PI*r+3*r+3
B:s2=3.14*(r+3)*(r+3)
C:s2=3.14*r+3*r+3
D:s2= PI*r*r
答案问询微信:424329
若有以下程序 #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i4;i++)a[i]=*p; printf(%d\n,a[2]); } 上面程序输出结果是
A:6
B:8
C:4
D:2
答案问询微信:424329
如下程序 : void main( ) { int i,sum; for(i=1;i=5;sum++) sum+=i; printf("%dn",sum); } 该程序的执行结果是( )
A:死循环
B:3
C:6
D:15
答案问询微信:424329
若有如下说明 char a[10]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’},*p=a; 则输出表达式*(p+8),即printf("%cn",*(p+8));得到( )
A:g
B:h
C:i
D:j
答案问询微信:424329
以下说法中正确的是( )
A:一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针
B:a/=b+c;这个式子和a=a/b+c;等价
C:C语言开始执行程序的开始执行点是程序中第一条奥鹏西南交通大学平时作业可执行的语句
D:对二维数组a赋值可以用这样的语句完成int a[4][]={1,2,3,4,5,6,7,8}
答案问询微信:424329
下面程序的运行结果是 #include main() { int y=10; do{y–;}while(–y); printf(%d\n,y–); }
A:1
B:1
C:8
D:0
答案问询微信:424329
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。#include stdio.h main(){ int i=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf(316=13*%d+11*%d,i,j);}
A:k%11
B:k
C:k/11==0
D:k==0
答案问询微信:424329
若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有
A:A、*(a+1)为元素6的地址
B:B、*(a[1]+1)的值为2
C:C、**(a+1)+2的值为8
D:D、a[0]与a相同
答案问询微信:424329
对函数的正确使用方法描述
A:A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B:B、实参数组元素和形参数组元素类型可以不一致
C:C、形参数组长度可以不指定
D:D、形参数组长度可以大于实参数组长度
答案问询微信:424329
putchar()函数可以输出一个字符串
A:错误
B:正确
答案问询微信:424329
一个int型与一个double型数据进行混合运算时,其结果是double型。
A:错误
B:正确
答案问询微信:424329
puts和gets函数只能输入或输出一个字符串
A:错误
B:正确
答案问询微信:424329
函数必须有返回值,否则不能使用函数
A:错误
B:正确
答案问询微信:424329
C程序中各函数之间既允许直接递归调用也允许间接递归调
A:错误
B:正确
答案问询微信:424329
主函数和其它函数可以相互调用
A:错误
B:正确
答案问询微信:424329