西南交通大学19春《高级语言程序设计》在线作业12
西南交《高级语言程序设计》在线作业一随机作业请核对题目下载,QQ 761296021
1.[单选题]下面程序的功能是把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
正确答案:——B——
2.[单选题]若有宏定义:#define PI3.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
正确答案:——C——
3.[单选题]下列程序段的输出结果是( )void fun(int *x, int *y) { printf("%d %d", *x, *y); *x=3; *y=4;} void main(){ int x=1, y=2;fun(&y,&x); printf("%d %d", x, y); }
A.1 2 1 2
B.2 1 4 3
C.1 2 3 4
D.2 1 1 2
正确答案:——B——
4.[单选题]下面语句的运行结果为( ) #include “stdio.h”#include “string.h”void main() { char str1={“how”}; char str2={“good”}; strcpy(str1,str2); printf(“%s”,str1); }
A.g
B.how
C.howgood
D.good
正确答案:————
5.[单选题]请选出可用作C语言用户标识符的是
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
正确答案:————
6.[单选题]下面能正确进行字符串赋值操作的是
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);
正确答案:————
7.[单选题]有以下程序: #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
正确答案:————
8.[单选题]以下程序的输出结果是 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;i<10;i++)s+=b[i]; printf(" %d\n ",s); }
A.22
B.10
C.34
D.30
正确答案:————
9.[单选题]请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));
A.5
B.14
C.8
D.输出项不合法,无正常输出
正确答案:————
10.[单选题]下面程序段的运行结果是 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.以上结果都不对
正确答案:————
11.[单选题]以下可作为函数fopen中第一个参数的正确格式是( )
A.c:user\text.tex
B.c:\user\text.txt
C.“c:user\text.tex”
D.“c:\\user\\text.txt”
正确答案:————
12.[单选题]以下叙述中不正确的是
A.在不同的函数中可以使用相同的名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
正确答案:————
13.[单选题]以下说法中错误的是( )
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
正确答案:————
14.[单选题]能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是( )
A.a>=5ora<=10
B.a>=5|a<=10
C.a>=5&&a<=10
D.a>=5||a<=10
正确答案:————
15.[单选题]一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
正确答案:————
16.[单选题]设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
正确答案:————
17.[单选题]若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
A.a[p-a]
B.*(&a[i])
C.p[i]
D.a[10]
正确答案:————
18.[单选题]以下说法中正确的是( )
A.一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针
B.a/=b+c;这个式子和a=a/b+c;等价
C.C语言开始执行程序的开始执行点是程序中第一条可执行的语句
D.对二维数组a赋值可以用这样的语句完成int a[]={1,2,3,4,5,6,7,8}
正确答案:————
19.[单选题]设有int x=11;则表达式(x++*1/3)的值是
A.3
B.4
C.11 奥鹏作业答案
D.12
正确答案:————
20.[单选题]设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.struct ex是结构体类型名
正确答案:————
21.[单选题]若有如下说明 char a={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’},*p=a; 则输出表达式*(p+8),即printf("%c\n",*(p+8));得到( )
A.g
B.h
C.i
D.j
正确答案:————
22.[单选题]选择下列程序的运行结果( ) main() { floatx; 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
正确答案:————
23.[单选题]C语言表示逻辑假的方法是( )
A.FALSE
B.0
C.1
D.NULL
正确答案:————
24.[单选题]能正确表达逻辑关系"a≥10"或"a≤0"的C语言表达式是( )
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10||a<=0
正确答案:————
25.[单选题]设有数组定义: char array[]="China"; 则数组 array所占的空间为
A.4个字节
B.5个字节
C.6个字节
D.7个字节
正确答案:————
26.[单选题]C语言存贮字符串时,用特殊字符( )表示字符串结束
A.’\x0a’
B.’0’
C.13
D.’\0’
正确答案:————
27.[单选题]设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值scanf("a=%d,b=%f",&a,&b);为了把100和76.5分别赋给i和f,则正确的输入为:( )
A.100 76.5
B.a=100,b=76.5
C.10076.5
D.a=100 b=76.5
正确答案:————
28.[单选题]在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A.1
B.2
C.7
D.11
正确答案:————
29.[单选题]设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是
A.00010100
B.00011011
C.00011100
D.00011000
正确答案:————
30.[单选题]下列程序的输出结果是 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
正确答案:————
31.[单选题]以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A.语句 void prt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
正确答案:————
32.[单选题]C语言中,能识别处理的文件为
A.文本文件和数据块文件
B.文本文件和二进制文件
C.流文件和文本文件
D.数据文件和二进制文件
正确答案:————
33.[单选题]在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A.a=20000+20000;
B.a=4000*10;
C.a=30000+10000;
D.a=4000L*10L
正确答案:————
34.[单选题]定义C函数时,不给出返回值类型,则默认的返回值类型是( )
A.float
B.void
C.int
D.NULL指针
正确答案:————
35.[单选题]在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是( )
A.仅仅搜索当前目录
B.仅仅搜索源程序所在目录
C.直接按系统设定的标准搜索目录
D.在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
正确答案:————
36.[单选题]有以下程序,程序运行的结果是( ) #include “stdio.h” main(){int x=1;switch(x){ case 0: printf(“0\t”); break; case 1: printf(“1\t”); case 2: printf(“2\t”); case 3: printf(“3\t”); break; default: printf(“error”); } }
A.1 2 3
B.2 3
C.2 3 error
D.2
正确答案:————
37.[单选题]sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
正确答案:————
38.[单选题]若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后c3中的值是 ( )
A.0
B.0.5
C.1
D.2
正确答案:————
39.[单选题]若有以下说明语句,且0<=i<=10,则 ( )是对数组元素的错误引用。
A.int a[]={1,2,3,4,5,6,7,8,9,0},*p,i; p=a; *(a+i)
B.p+i
C.a
D.*(&a )
正确答案:————
40.[单选题]函数 rewind 的作用是
A.使文件位置指针重新返回文件的开始位置
B.将文件位置指针指向文件中所要求的特定位置
C.使文件位置指针指向文件的末尾
D.使文件位置指针自动移至下一个字符位置
正确答案:————
41.[单选题]以下正确的C标识符是( )
A.0XH
B._80
C.main
D.#A$
正确答案:————
42.[单选题]若有以下程序 #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]); } 上面程序输出结果是
A.6
B.8
C.4
D.2
正确答案:————
43.[多选题]在缓冲文件系统中用于读写的函数有
A.putchar ()
B.fread()
C.rewind ()
D.purw()
正确答案:————
44.[多选题]对静态变量的正确描述
A.静态局部变量在静态存储区内分配单元( )
B.静态外部变量可以赋初值,也可以不赋初值
C.静态外部变量的作用与外部变量相同
D.静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
正确答案:————
45.[判断题]主函数和其它函数可以相互调用
A.错误
B.正确
正确答案:————
46.[判断题]语句int pt中的*pt是指针变量名。
A.错误
B.正确
正确答案:————
47.[判断题]函数必须有返回值,否则不能使用函数
A.错误
B.正确
正确答案:————
48.[判断题]C程序的执行总是从第一个定义的函数开始
A.错误
B.正确
正确答案:————
49.[判断题]C程序中各函数之间既允许直接递归调用也允许间接递归调
A.错误
B.正确
正确答案:————
50.[判断题]静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A.错误
B.正确
正确答案:————
西南交《高级语言程序设计》在线作业二
1.[单选题]假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 main( int argc, char *argv[]) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }
A.ABCDEFG
B.IJHL
C.ABCDEFGHIJKL
D.IJKLABCDEFGH
正确答案:——D——
2.[单选题]以下可作为函数fopen中第一个参数的正确格式是( )
A.c:user\text.tex
B.c:\user\text.txt
C.“c:user\text.tex”
D.“c:\\user\\text.txt”
正确答案:——D——
3.[单选题]以下不正确的叙述是
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
正确答案:——D——
4.[单选题]有以下程序: #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
正确答案:————
5.[单选题]以下正确的C标识符是( )
A.0XH
B._80
C.main
D.#A$
正确答案:————
6.[单选题]以下不正确的定义语句是
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′};
正确答案:————
7.[单选题]下面程序段的运行结果是 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.以上结果都不对
正确答案:————
8.[单选题]能正确表达逻辑关系"a≥10"或"a≤0"的C语言表达式是( )
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10||a<=0
正确答案:————
9.[单选题]在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是
A.a=20000+20000;
B.a=4000*10;
C.a=30000+10000;
D.a=4000L*10L
正确答案:————
10.[单选题]continue语句的作用是( )
A.中止函数的执行
B.立即中止循环
C.中止本次循环,直接开始下一次循环
D.从一个循环体直接跳转至另一个循环体内
正确答案:————
11.[单选题]C语言开始执行程序的开始执行点是( )
A.程序中第一条可执行的语句
B.程序中第一个函数
C.程序中的main( )函数
D.包含文件中的第一个函数
正确答案:————
12.[单选题]设有数组定义: char array[]="China"; 则数组 array所占的空间为
A.4个字节
B.5个字节
C.6个字节
D.7个字节
正确答案:————
13.[单选题]在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A.1
B.2
C.7
D.11
正确答案:————
14.[单选题]C语言存贮字符串时,用特殊字符( )表示字符串结束
A.’\x0a’
B.’0’
C.13
D.’\0’
正确答案:————
15.[单选题]下面程序的输出结果是 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
正确答案:————
16.[单选题]下面语句的运行结果为( ) #include “stdio.h”#include “string.h”void main() { char str1={“how”}; char str2={“good”}; strcpy(str1,str2); printf(“%s”,str1); }
A.g
B.how
C.howgood
D.good
正确答案:————
17.[单选题]以下叙述中不正确的是
A.在不同的函数中可以使用相同的名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
正确答案:————
18.[单选题]下面能正确进行字符串赋值操作的是
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);
正确答案:————
19.[单选题]设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
正确答案:————
20.[单选题]设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值scanf("a=%d,b=%f",&a,&b);为了把100和76.5分别赋给i和f,则正确的输入为:( )
A.100 76.5
B.a=100,b=76.5
C.10076.5
D.a=100 b=76.5
正确答案:————
21.[单选题]下列各数据类型不属于构造类型的是
A.枚举型
B.共用型
C.结构型
D.数组型
正确答案:————
22.[单选题]设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A.struct结构体类型的关键字
B.example是结构体类型名
C.x,y,z都是结构体成员名
D.struct ex是结构体类型名
正确答案:————
23.[单选题]以下程序的输出结果是 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;i<10;i++)s+=b[i]; printf(" %d\n ",s); }
A.22
B.10
C.34
D.30
正确答案:————
24.[单选题]函数Func的功能是( ) intFunc(char*ptr) {char*p;p=ptr; while (*p++);return (p-ptr-1); }
A.比较两个字串的大小
B.求字符串的长度
C.将串ptr复制到p中
D.以上三种说法都不对
正确答案:————
25.[单选题]阅读以下程序及对程序功能的描述,其中正确的描述是 #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.程序完成将两个磁盘文件合并并在屏幕上输出
正确答案:————
26.[单选题]sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
正确答案:————
27.[单选题]若有以下说明语句,且0<=i<=10,则 ( )是对数组元素的错误引用。
A.int a[]={1,2,3,4,5,6,7,8,9,0},*p,i; p=a; *(a+i)
B.p+i
C.a
D.*(&a )
正确答案:————
28.[单选题]C语言表示逻辑假的方法是( )
A.FALSE
B.0
C.1
D.NULL
正确答案:————
29.[单选题]选择下列程序的运行结果( ) main() { floatx; 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
正确答案:————
30.[单选题]下列符号中,合法的C常量是( )
A.‘\t’
B.079
C.3.5e2.1
D.0xch
正确答案:————
31.[单选题]以下说法中正确的是( )
A.一个函数在编译时被分配得到一个入口地址,这个入口地址称为函数的指针
B.a/=b+c;这个式子和a=a/b+c;等价
C.C语言开始执行程序的开始执行点是程序中第一条可执行的语句
D.对二维数组a赋值可以用这样的语句完成int a[]={1,2,3,4,5,6,7,8}
正确答案:————
32.[单选题]下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
A.1
B.1
C.8
D.0
正确答案:————
33.[单选题]C语言中运算对象必须是整型的运算符是( )
A.%
B./
C.=
D.<=
正确答案:————
34.[单选题]以下说法中错误的是( )
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
正确答案:————
35.[单选题]一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
正确答案:————
36.[单选题]有如下程序 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
正确答案:————
37.[单选题]已知实型变量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))
正确答案:————
38.[单选题]若有如下说明 int a={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的元素的表达式是( )
A.*p+5
B.*(p+5)
C.*p+=5
D.p+5
正确答案:————
39.[单选题]若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后c3中的值是 ( )
A.0
B.0.5
C.1
D.2
正确答案:————
40.[单选题]有如下程序: long fib(int n) { if(n>2)return(fib(n-1)+fib(n-2)); else return(2); } main() { printf("%d\n",fib(3));} 该程序的输出结果是
A.2
B.4
C.6
D.8
正确答案:————
41.[单选题]请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n"));
A.5
B.14
C.8
D.输出项不合法,无正常输出
正确答案:————
42.[单选题]能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是( )
A.a>=5ora<=10
B.a>=5|a<=10
C.a>=5&&a<=10
D.a>=5||a<=10
正确答案:————
43.[多选题]若定义:int a{0,2,4,6,8,10};以下描述正确的有
A.A、*(a+1)为元素6的地址
B.B、*(a+1)的值为2
C.C、**(a+1)+2的值为8
D.D、a与a相同
正确答案:————
44.[多选题]下列描述正确的是
A.由main 函数及其参数argc和* argv[]可以实现命令行方式
B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C.字符数组并不要求它的最后一个字符是‘\0’
D.‘A’和“A”都是字符串常量
正确答案:————
45.[判断题]C程序中各函数之间既允许直接递归调用也允许间接递归调
A.错误
B.正确
正确答案:————
46.[判断题]静态外部变量既可以在文本文件中引用,也可以在其它文件引用
A.错误
B.正确
正确答案:————
47.[判断题]主函数和其它函数可以相互调用
A.错误
B.正确
正确答案:————
48.[判断题]putchar()函数可以输出一个字符串
A.错误
B.正确
正确答案:————
49.[判断题]一个int型与一个double型数据进行混合运算时,其结果是double型。
A.错误
B.正确
正确答案:————
50.[判断题]C程序的执行总是从第一个定义的函数开始
A.错误
B.正确
正确答案:————
附件是答案,转载注明 无忧答案网
页:
[1]