在线作业 发表于 2017-11-22 13:40:35

电子科技大17秋《C语言》在线作业123

17秋《C语言》在线作业1
一、单选题:【20道,总分:100分】

1.已知:int *p( ); p是(    )          (满分:5)
    A. 指向int型的指针变量
    B. int型的指针数组
    C. 一个指向函数的指针变量,函数的返回值是int型
    D. 一个函数,该函数的返回值是指向int型的指针变量
2.若有如下语句:intx=3; do { printf(" %d\n",x -=2);} while(!(--x));则上面程序段(    )          (满分:5)
    A. 输出的是 1
    B. 输出的是1和-2
    C. 输出的是3和0
    D. 是死循环
3.在"文件包含"预处理语句的使用形式中,当#include后面的文件名用(尖括号)括起时,寻找被包含文件的方式是(    )          (满分:5)
    A. 仅仅搜索当前目录
    B. 仅仅搜索源程序所在目录
    C. 直接按系统设定的标准方式搜索目录
    D. 先在源程序所在目录搜索,再按系统设定的标准方式搜索
4.下面程序的运行结果是(    )#include "stdio.h"main(    ){int i; for(i=1;i<=5;i++){if(i%2) printf("#");else continue;printf("*");}printf("$");}          (满分:5)
    A. *#*#$
    B. #*#*#*$
    C. *#*#$
    D. #*#*$
5.请读程序:#include#define MUL(x,y)(x)*ymain(    ) {int a=3,b=4,c;c=MUL(a++,b++);printf("%d\n",c); }上面程序的输出结果是(    )          (满分:5)
    A. 12
    B. 15
    C. 20
    D. 16
6.以下各组选项中,均能正确定义二维实型数组a的选项是(    )          (满分:5)
    A. float a; float a[]; float a[]={{1},{0}};
    B. float a(3,4);float a;float a[][]={{0},{0}};
    C. float a;static float a[]={{0},{0}};auto float a[]={{0},{0},{0}};
    D. float a;float a[];float a[]
7.以下程序段x= -1;do{x=x*x;}while(!x);则(    )          (满分:5)
    A. 是死循环
    B. 循环执行二次
    C. 循环执行一次
    D. 有语法错误
8.已知函数的调用形式:fread(buffer,size,count,fp),其中buffer代表的是(    )          (满分:5)
    A. 一个整型变量,代表要读入的数据项总数
    B. 一个文件指针,指向要读的文件
    C. 一个指针,指向要读入数据的存放地址
    D. 一个存储区,存放要读的数据项
9.下面不正确的字符串常量是(    )          (满分:5)
    A. abc'
    B. "12'12"
    C. "0"
    D. ""
10.建立函数的目的之一是(    )          (满分:5)
    A. 提高程序的执行效率
    B. 提高程序的可读性
    C. 减少程序的篇幅
    D. 减少程序文件所占内存
11.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为(    )          (满分:5)
    A. char<int<1ong int<=float<double
    B. char=int<1ongint<=float<double
    C. char<int<1ongint=float=double
    D. char=int=1ong int<=float<double
12.以下正确的描述是(    )          (满分:5)
    A. 函数的定义可以嵌套,但函数的调用不可以嵌套
    B. 函数的定义不可以嵌套,但函数的调用可以嵌套
    C. 函数的定义和函数的调用均不可以嵌套
    D. 函数的定义和函数的调用均可以嵌套
13.以下正确的说法是(    )          (满分:5)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后边的值不能为表达式
    C. 如果函数值的类型与返回值类型不一致,以函数值类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
14.以下能对二维数组a进行正确初始化的语句是(    )          (满分:5)
    A. int a[]={{1,0,1},{5,2,3}};
    B. int a[]={{1,2,3},{4,5,6}};
    C. int a={{1,2,3},{4,5},{6}};
    D. int a[]={{1,0,1},{},{1,1}};
15.以下for循环的执行次数是(    )for(x=0,y=0;(y=123)&&(x<4);x++);          (满分:5)
    A. 是无限循环
    B. 循环次数不定
    C. 执行4次
    D. 执行3次
16.以下符合C语言语法的赋值表达式是(    )          (满分:5)
    A. d=9+e+f=d+9
    B. d=9+e,f=d+9
    C. d=9+e,e++,d+9
    D. d=9+e++=d+7
17.下面四个选项中,均是非法常量的选项是(    )          (满分:5)
    A. as' -0fff '\0xa'
    B. '\\' '\01' 12,456
    C. -0xl8 01177 0xf
    D. 0xabc'\0' "a"
18.设有以下说明,则下面不正确的叙述是(    )uniondata {inti;   charc;   f1oatf;)un;          (满分:5)
    A. un所占的内存长度等于成员f的长度
    B. un的地址和它的各成员地址都是同一地址
    C. un可以作为函数参数
    D. 不能对un赋值,但可以在定义un时对它初始化
19.为了避免嵌套的条件分支语句 if——else中的else总是与(    )组成成对关系          (满分:5)
    A. 缩排位置相同的
    B. 在其之前未配对的
    C. 在其之前未配对的最近的if
    D. 在同一行上的if
20.已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为(    )inta;   f(a);          (满分:5)
    A. f(intarray[])
    B. f(intarray[])
    C. f(intarray[]
    D. f(intarray)
17秋《C语言》在线作业2
一、单选题:【20道,总分:100分】

1.若调用一个函数,且此函数中没有return语句,关于该函数则正确的说法是(    )          (满分:5)
    A. 没有返回值
    B. 返回若干个系统默认值
    C. 能返回一个用户所希望的函数值
    D. 返回一个不确定的值
2.以下叙述中正确的是(    )          (满分:5)
    A. 在程序的一行上可以出现多个有效的预处理命令行
    B. 使用带参的宏时,参数的类型应与宏定义时的一致
    C. 宏替换不占用运行时间,只占编译时间
    D. 在以下定义中CR是称为"宏名"的标识符 #defineCR045
3.以下程序有语法性错误,有关错误原因的正确说法是(    )   main(    ){int G=5,k;void prtchar(    );......k=prtchar(G);......}          (满分:5)
    A. 语句voidprtchar(    );有错,它是函数调用语句,不能用void 说明
    B. 变量名不能使用大写字母
    C. 函数说明和函数调用语句之间有矛盾
    D. 函数名不能使用下划线
4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(    )          (满分:5)
    A. float型
    B. int型
    C. long型
    D. double型
5.已知一个函数的定义如下:double fun(int x, double y)    { …… } 则该函数正确的函数原型声明为(    )          (满分:5)
    A. double fun(int x,double y)
    B. fun(int x,double y)
    C. double fun(int,double);
    D. fun(x,y) ;
6.以下错误的描述是: 函数调用可以(    )          (满分:5)
    A. 出现在执行语句中
    B. 出现在一个表达式中
    C. 做为一个函数的实参
    D. 做为一个函数的形参
7.有两个字符数组a、b,则以下正确的输入格式是(    )          (满分:5)
    A. gets(a,b);
    B. scanf("%s%s",a,b);
    C. scanf("%s%s",&a,&b);
    D. gets("a"),gets ("b");
8.若调用一个函数,且此函数中没有return语句,则正确的说法是(    )          (满分:5)
    A. 该函数没有返回值
    B. 该函数返回若干个系统默认值
    C. 能返回一个用户所希望的函数值
    D. 返回一个不确定的值
9.请阅读以下程序:main(    ){inta=5,b=0,c=0;if(a=b+c)printf("***\n");e1se   printf("$$$\n");则以上程序(    )          (满分:5)
    A. 有语法错不能通过编译
    B. 可以通过编译但不能通过连接
    C. 输出***
    D. 输出$$$
10.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是(    )          (满分:5)
    A. -1
    B. 1
    C. 0
    D. NULL
11.下面函数调用语句含有实参的个数为(    ) func((expl,exp2), (exp3,exp4,exp5));          (满分:5)
    A. 1
    B. 2
    C. 4
    D. 5
12.x,i,j和k都是int型变量,则执行下面表达式后x的值为(    )(i=4,j=16,k=32)          (满分:5)
    A. 4
    B. 16
    C. 32
    D. 52
13.C语言提供的预处理功能包括条件编译,其基本形式为:#XXX标识符 程序段1#else程序段2#endif这里XXX可以是(    )          (满分:5)
    A. define或include
    B. ifdef或include
    C. ifdef或ifndef或define
    D. ifdef或ifndef或if
14.以下正确的描述是(    )          (满分:5)
    A. C语言的预处理功能是指完成宏替换和包含文件的调用
    B. 预处理指令只能位于C源程序文件的首部
    C. 凡是C源程序中行首以"#"标识的控制行都是预处理指令
    D. C语言的编译预处理就是对源程序进行初步的语法检查
15.sizeof(float)是(    )          (满分:5)
    A. 一个整型表达式
    B. 一种函数调用
    C. 一个不合法的表达式
    D. 一个不合法的表达式
16.以下不正确的说法是(    )          (满分:5)
    A. 实参可以是常量,变量或表达式
    B. 形参可以是常量,变量或表达式
    C. 实参可以为任意类型
    D. 如果形参和实参的类型不一致,以形参类型为准
17.以下描述中正确的是(    )          (满分:5)
    A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
    B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号
    C. 在do~while循环体中,一定要有能使while后表达式值变为零("假")的操作
    D. do~while循环中,根据情况可以省略while
18.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为(    )          (满分:5)
    A. D
    B. 68
    C. 不确定的值
    D. C
19.以下正确的说法是(    )          (满分:5)
    A. 实参和与其对应的形参各占用独立的存储单元
    B. 实参和与其对应的形参共占用一个存储单元
    C. 只有当实参和与其对应的形参同名时才共占用存储单元
    D. 形参是虚拟的,不占用存储单元
20.有以下程序: #includemain(    ) {char p[ ]={‘a’,’b’,’c’},q={‘a’,’b’,’c’}; printf(“%d%d\n”,strlen(p),strlen(q)); } 以下叙述中正确的是(    )          (满分:5)
    A. 在给p和q数组置初值时,系统回自动添加字符串结束符,故输出的长度都为3
    B. 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
    C. 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
    D. 由于p和q数组中都没有字符串结束符,长度都不能确定

17秋《C语言》在线作业3
一、单选题:【20道,总分:100分】

1.设有如下的程序段:  char str[ ]="hello";  char *ptr;  ptr=str;执行上面的程序段后,*(ptr+5)的值为(    )          (满分:5)
    A. o''
    B. ''\0''
    C. 不确定的值
    D. ''o''的地址
2.设有说明:char w; intx;f1oaty;doublez;则表达式w* x+z-y值的数据类型为(    )          (满分:5)
    A. float
    B. char
    C. int
    D. double
3.若有说明:int a;则对a数组元素的正确引用是(    )          (满分:5)
    A. a
    B. a
    C. a(5)
    D. a
4.若有以下定义,则能使值为3的表达式是(    )intk= 7,x =12;          (满分:5)
    A. x%=(k%= 5)
    B. x%=(k-k%5)
    C. x%=k- k%5
    D.(x%=k)-(k%=5)
5.以下程序的输出结果是(    )    main(    ){inta=100,x =10,y=20,okl=5,ok2=0;    if (x<y)    if(y ! =10)    if(!okl)a=1;   else   if(ok2)a=10;      a=-1;    printf("%d\n",a );}          (满分:5)
    A. 1
    B. 0
    C. -1
    D. 值不确定
6.若有说明:int a[ ]={0,0};则下面不正确的叙述是(    )          (满分:5)
    A. 数组a的每个元素都可得到初值0
    B. 二维数组a的第一维大小为1
    C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a行数为1
    D. 只有元素a和a可得初值0,其余元素均得不到初值0
7.下面程序的输出是(    )main(    ) {char x=040; printf("%d\n",x=x<<1);}          (满分:5)
    A. 100
    B. 160
    C. 120
    D. 64
8.main函数的正确说明形式是(    )          (满分:5)
    A. main(intargc,char*argv)
    B. main(intabc,char**abv)
    C. main(intargc,charargv)
    D. )main(intc,charv[])
9.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(    )          (满分:5)
    A. extern
    B. register
    C. auto
    D. static
10.在访问一个结构元素前你必须定义(    )          (满分:5)
    A. 结构体
    B. 结构体变量
    C. 定义结构指针
    D. A和B
11.有两个字符数组a、b,则以下正确的输入格式是(    )          (满分:5)
    A. gets(a,b);
    B. scanf("%s%s",a,b);
    C. scanf("%s%s",&a,&b);
    D. gets("a"),gets ("b");
12.以下描述中正确的是(    )          (满分:5)
    A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
    B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号
    C. 在do~while循环体中,一定要有能使while后表达式值变为零("假")的操作
    D. do~while循环中,根据情况可以省略while
13.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(    )          (满分:5)
    A. 7
    B. 8
    C. 6
    D. 2
14.以下叙述中不正确的是(    )          (满分:5)
    A. 在不同的函数中可以使用相同的名字的变量
    B. 函数中的形式参数是局部变量
    C. 在一个函数内定义的变量只在本函数范围内有效
    D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
15.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空(    )#include   main(    ){inti=0,j,k; do{ i++;k=316-13*i;} while(【1】);j=k/11; printf(" 316=13* %d+11*%d",i,j);}          (满分:5)
    A. k/11
    B. k%11
    C. k/11==0
    D. k/11== 0
16.有以下程序: union pw { int i; char ch[2];}a; main(    ) {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是(    )          (满分:5)
    A. 13
    B. 14
    C. 208
    D. 209
17.下面程序的功能是计算正整数2345的各位数字平方和,请选择填空(    )#includemain(    ){intn,sum=0;n=2345do{ sum=sum+(n%10)*(n%10);n=【 】;}while(n);printf("sum=%d",sum);}          (满分:5)
    A. n/1000
    B. n/100
    C. n/10
    D. n%10
18.当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是(    )          (满分:5)
    A. K%2
    B. K%2==1
    C. (K%2)!=0
    D. !K%2==1
19.为了避免在嵌套的条件语句if - else中产生二义性,C语言规定else子句总是与(    )配对          (满分:5)
    A. 缩排位置相同的if
    B. 其之前最近的if
    C. 之后最近的if
    D. 同一行上的if
20.以下叙述中正确的是(    )          (满分:5)
    A. 在程序的一行上可以出现多个有效的预处理命令行
    B. 使用带参的宏时,参数的类型应与宏定义时的一致
    C. 宏替换不占用运行时间,只占编译时间
    D. 在以下定义中CR是称为"宏名"的标识符 #defineCR045



页: [1]
查看完整版本: 电子科技大17秋《C语言》在线作业123