C程序设计21春在线作业1题目
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.设有如下定义: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.0
2.下列函数: int fun1(chat* x) {char*y=x; while(*y++); return(y-x-1);} 的功能是 ()
A.求字符串的长度
B.比较两个字符串的大小
C.将字符串x复制到字符串y
D.将字符串X连接到字符串Y后面
3.当说明一个结构体变量时,系统分配它的内存是()
A.各成员所需内存容量的总和
B.结构体中第一个成员所需内存
C.各成员所需内存容量的最大值
D.结构体中最后一个成员所需内存
4.以下对二维数组a进行正确初始化的是()
A.int a[2][3]={{1,2},{3,4},{5,6}};
B.int a[ ][3]={1,2,3,4,5,6};
C.int a[2][ ]={1,2,3,4,5,6};
D.int a[2][ ]={{1,2},{3,4}};
5.一个main(int a,char *argv[])函数带参数,可执行文件名为prog.exe,若命令行输入: prog abcd efg 123 则printf(“%d,%s\n”,a,argv[1]); 的结果是()
A.3,prog
B.4,prog
C.3,abcd
D.4,abcd
6.设A为存放整型的一维数组,如果A的首地址为P,那么A中下标为i的元素地址为()
A.P+i*2
B.P+(i-1)*2
C.P+(i-1)
D.P+i
7.下面选项中正确的赋值语句是(设 char a[5],*p=a;) ()
A.p=”abcd”;
B.a=”abcd”;
C.*p=”abcd”;
D.*a=”abcd”;
8.数组名作为实参数传递给函数时,数组名被处理为()
A.该数组的长度
B.该数组的元素个数
C.该数组的首地址
D.该数组中各元素的值
9.以下程序: #define N 2 #define M N+2 #define CUBE(x) (x*x*x) #include “stdio.h” main( ) { int i=M; i=CUBE(i); printf(“%d\n”,i); } 的输出结果为()
A.17
B.64
C.125
D.53
10.已知职工记录描述如下, struct worker { int no; char name[20]; char sex; struct { int day; int month; int year;}birth; }; struct worker w; 设变量w中的“生日”是“1993年10月25日”,下列对“生日”的正确赋值方式是()
A.day=25; month=10; year=1993;
B.w.birth.day=25; w.birth.month=10; w.birth.year=1993;
C.w.day=25; w.month=10; w.year=1993;
D.birth.day=25; birth.month=10; birth.year=1993;
11.若已包含头文件<stdio.h>且有说明char s1[5],s2[7];要给s1,s2赋值,下列语句中正确的是()
A.s1=getchar(); s2=getchar();
B.scanf(“%s%s”,s1,s2);
C.scanf(“%c%c”,s1,s2);
D.gets(s1);s2=s1;
12.下列程序:main( ) { int a=7,b=5; printf(“%d\n”,b=b/a); } 的输出结果是()
A.5
B.1
C.0
D.不确定值
奥鹏作业答案请进open5.net或请联系QQ/微信:18866732
13.若程序中定义了以下函数 double myadd(double a,double B) { return (a+B) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()
A.double myadd(double a,B) ;
B.double myadd(double,double);
C.double myadd(double b,double A) ;
D.double myadd(double x,double y);
14.C语言源程序的基本单位是()
A.过程
B.函数
C.子程序
D.标识符
15.设函数fun的定义形式为 void fun(char ch, float x ) { … } 则以下对函数fun的调用语句中,正确的是 ()
A.fun(“abc”,3.0);
B.t=fun(’D’,16.5);
C.fun(’65’,2.8);
D.fun(32,32);
16.已知char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是()
A.int
B.char
C.float
D.double
17.当说明一个共用体变量时,系统分配它的内存是()
A.各成员所需内存容量的总和
B.共用体中第一个成员所需内存
C.各成员所需内存容量的最大值
D.共用体中最后一个成员所需内存
18.在以下一组运算符中,优先级最高的运算符是()
A.<=
B.=
C.%
D.&&
19.有以下程序段 : int m=0,n=0; char c=‘a’; scanf(“%d%c%d”,&m,&c,&n); printf(“%d,%c,%d\n”,m,c,n); 若从键盘上输入:10A10<回车>,则输出结果是()
A.10,A,10
B.10,a,10
C.10,a,0
D.10,A,0
20.以下程序: main( ) { char s1[40]=”country”,s2[20]=”side”; int i=0,j=0; while(s1[i]!=’\0′) i++; while(s2[j]!=’\0′) s1[i++]=s2[j++]; s1[i]=0; printf(“%s\n”,s1); } 的输出结果为()
A.side
B.country
C.sidetry
D.countryside
二、判断题 (共 20 道试题,共 40 分)
21.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。
22.执行语句x=(a=3,b=a–);后,x,a,b的值依次是3,2,3。
23.strcmp用来比较两个字符串的大小。
24.if-goto语句可以构成循环。
25.C语言中有些不同类型的变量可以在一个表达式中运算。
26.#define和printf都是C语句。
27.Continue语句的作用是继续程序中的下一个循环。
28.函数的形参可以是表达式。
29.设ch是char型变量,其值为z,且有如上表达式: ch=(ch>’A’&&ch<=’Z’)?(ch+32):ch,该表达式的值是A。
30.C语言可以对字符型数据进行整体输入、输出。
31.常量的定义要通过#ifndef宏指令来实现。
32.一个函数的函数体包括声明部分和语句部分。
33.如果一个函数只能被本文件调用而不能被其它文件调用,则称该函数为内部函数。
34.宏定义的宏名一定要大写,否则无效。
35.在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。
36.函数的函数体可以为空。
37.表达式中的运算对象可以是常数、变量和函数调用。
38.表达式y=(13>14?15:16)的值为15。
39.当C的值不为0时,(A=C)&&(B=C)能正确地将C的值赋给变量A,B。
40.为表示关系a>b>c,应使用C语言的表达式为:a>b&a>c。
转载请注明:奥鹏作业之家 » 【奥鹏】东师C程序设计21春在线作业1