新学期奥鹏教育西南交通大学《高级语言程序设计》在线作业一
奥鹏西南交通大学平时作业
西南交《高级语言程序设计》在线作业一
下面语句的运行结果为( ) #include “stdio.h”#include “string.h”void main() { char str1[10]={“how”}; char str2[10]={“good”}; strcpy(str1,str2); printf(“%s”,str1); }
A:g
B:how
C:howgood
D:good
答案问询微信:424329
若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0i9, 则对a数组元素不正确的引用是
A:a[p-a]
B:*(a[i])
C:p[i]
D:a[10]
答案问询微信:424329
若k为整形,则while循环执行( )次。 k=2; while(k==0) printf(“%d”,k); k–; printf(“n”);
A:10
B:9
C:0
D:1
答案问询微信:424329
以下正确的C标识符是( )
A:0XH
B:_80
C:main
D:#A$
答案问询微信: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
一个C语言程序是由
A:一个主程序和若干子程序组成
B:函数组成
C:若干过程组成
D:若干子程序组成
答案问询微信:424329
下列各数据类型不属于构造类型的是
A:枚举型
B:共用型
C:结构型
D:数组型
答案问询微信:424329
下面用scanf语句获得从键盘输入的值,正确的语句是:( )
A:int a[12]; scanf(“%d”,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:在不同的函数中可以使用相同的名字的变量
B:函数中的形式参数是局部变量
C:在一个函数内定义的变量只在本函数范围内有效
D:在一个函数内的复合语句中定义的变量在本函数范围内有效
答案问询微信:424329
以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i10;i++)s+=b[i]; printf( %d\n ,s); }
A:22
B:10
C:34
D:30
答案问询微信:424329
sizeof(float)是
A:一个双精度型表达式
B:一个整型表达式
C:一种函数调用
D:一个不合法的表达式
答案问询微信:424329
设有数组定义: char array[]=China; 则数组 array所占的空间为
A:4个字节
B:5个字节
C:6个字节
D:7个字节
答案问询微信:424329
执行以下程序后,a,b的值分别为 main() { int a,b,k=4,m=6,*p1=k,*p2=m; a=p1==m; b=(*p1)/(*p2)+7; printf(a=%d\n,a); printf(b=%d\n,b); }
A:-1,5
B:1,6
C:0,7
D:4,10
答案问询微信:424329
下面哪条语句是错误的( )
A:int a=0
B:int a=b=c=1
C:int a=0,b=0,c=0
D:int a,b,c=1
答案问询微信:424329
设有定义:int n=0,*p=n,**q=p,则下列选项中正确的赋值语句是
A:p=1;
B:*q=2;
C:q=p;
D:*p=5;
答案问询微信:424329
C语言存贮字符串时,用特殊字符( )表示字符串结束
A:’x0a’
B:’0’
C:13
D:’ ’
答案问询微信:424329
在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是( )
A:仅仅搜索当前目录
B:仅仅搜索源程序所在目录
C:直接按系统设定的标准搜索目录
D:在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
答案问询微信:424329
返回值为void的函数,其含义为( )
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
有以下程序,程序运行的结果是( ) #include “stdio.h” main(){ int x=1; switch(x){ case 0: printf(“0t”); break; case 1: printf(“1t”); case 2: printf(“2t”); case 3: printf(“3t”); break; default: printf(“error”); } }
A:1 2 3
B:2 3
C:2 3 error
D:2
答案问询微信:424329
设有以下语句: char x=3,y=6,z; z=x^y2; 则z的二进制值是
A:00010100
B:00011011
C:00011100
D:00011000
答案问询微信:424329
设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值scanf("a=%d,b=%f",回车,则输出结果为 main( int argc, char *argv[]) { while(–argc0) printf(%s,argv[argc]); printf(\n); }
A:ABCDEFG
B:IJHL
C:ABCDEFGHIJKL
D:IJKLABCDEFGH
答案问询微信:424329
C语言中,能识别处理的文件为
A:文本文件和数据块文件
B:文本文件和二进制文件
C:流文件和文本文件
D:数据文件和二进制文件
答案问询微信:424329
下面程序的运行结果是 #include main() { int y=10; do{y–;}while(–y); printf(%d\n,y–); }
A:1
B:1
C:8
D:0
答案问询微信:424329
C语言中运算对象必须是整型的运算符是( )
A:%
B:/
C:=
D:=
答案问询微信: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
有定义static int a[]={1, 2, 3, 4},*p ; 执行语句p=a+2 ; 后,表达式*p的值为( )
A:4
B:1
C:2
D:3
答案问询微信:424329
以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); … k=prt_char(G); … }
A:语句 void prt_char();有错,它是函数调用语句,不能用void说明
B:变量名不能使用大写字母
C:函数说明和函数调用语句之间有矛盾
D:函数名不能使用下划线
答案问询微信:424329
C语言开始执行程序的开始执行点是( )
A:程序中第一条可执行的语句
B:程序中第一个函数
C:程序中的main( )函数
D:包含文件中的第一个函数
答案问询微信:424329
设有int x=11;则表达式(x++*1/3)的值是
A:3
B:4
C:11
D:12
答案问询微信:424329
若有定义:int a[10], *p=a;,则p+5表示( )
A:元素a[5]的地址
B:元素a[5]的值
C:元素a[6]的地址
D:元素a[6]的值
答案问询微信:424329
函数Func的功能是( ) int Func(char *ptr) { char *p; p=ptr; while (*p++); return (p-ptr-1); }
A:比较两个字串的大小
B:求字符串的长度
C:将串ptr复制到p中
D:以上三种说法都不对
答案问询微信: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
以下可作为函数fopen中第一个参数的正确格式是( )
A:c:usertext.tex
B:c:usertext.txt
C:“c:usertext.tex”
D:“c:\user\text.txt”
答案问询微信: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
若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为
A:4
B:16
C:32
D:52
答案问询微信:424329
阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE *in,*out; char ch,infile[10],outfile[10]; printf(Enter the infile name:\n); scanf(%s,infile); printf(Enter the outfile name:\n); scanf(%s,outfile); if((in=fopen(infile,r))==NULL) { printf(cannot open infile\n); exit(0); } if((out=fopen(outfile,w))==NULL) { printf(cannot open outfile\n); exit(0); } while(! feof(in))fputc(fgetc(in),out); fclose(in); fclose(out); }
A:程序完成将磁盘文件的信息在屏幕上显示的功能
B:程序完成将两个磁盘文件合二为一的功能
C:程序完成将一个磁盘文件复制到另一个磁盘文件中
D:程序完成将两个磁盘文件合并并在屏幕上输出
答案问询微信: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
有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf(%d\n,a.i);} 程序的输出结果是
A:13
B:14
C:208
D:209
答案问询微信: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
若定义: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:由main 函数及其参数argc和* argv[]可以实现命令行方式
B:使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C:字符数组并不要求它的最后一个字符是
D:A和A都是字符串常量
答案问询微信:424329
函数必须有返回值,否则不能使用函数
A:错误
B:正确
答案问询微信:424329
putchar()函数可以输出一个字符串
A:错误
B:正确
答案问询微信:424329
静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A:错误
B:正确
答案问询微信:424329
语句int pt中的*pt是指针变量名。
A:错误
B:正确
答案问询微信:424329
puts和gets函数只能输入或输出一个字符串
A:错误
B:正确
答案问询微信:424329
C程序的执行总是从第一个定义的函数开始
A:错误
B:正确
答案问询微信:424329