北航《C语言程序设计》在线作业二满分答案
北航春《C语言程序设计》在线作业试卷二
北航 15 年春? C 语言程序设计?在线作业试卷二一、单项选择题〔共10 道试题,共40 分。
〕1.假定用数组名作为函数调用时的参数,那么实质上传达给形参的是A.数组元素的个数B.数组的第一个元素值C.数组中所有元素的值D.数组首地点正确答案: D2.以下对于 #include 命令的表达中,错误的选项是A. #include 命令中,文件名能够用双引号或尖括号括起来B.一个被包括文件中又能够包括另一个被包括文件C.一个 #include 命令中能够指定多个被包括文件D.一个 #include 命令中只好指定一个被包括文件正确答案: C3.在 C 程序中,假定对函数种类未加说明,那么函数的隐含种类为( ) A. intB. doubleC.voidD.char正确答案: A4.表达式 ( )的值是 0。
A.3%5B.C.3/5D.3<5正确答案: C5. : int a=5; 履行以下的程序段后输出结果为{ printf( “%dn〞,a--); } while (!a);A. 5B. 4C.堕入死循环D.54321正确答案: A6.有以下语句 :int b;char c[10];,那么正确的输入语句是 _______A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c);C.scanf("%d%s",b,c);D.scanf("%d%s",b,&c);正确答案:7.假定有定义: int x; 要将 x 强迫变换为双精度型,应当写成A.x(double)B.x(double)C.(double)xD. double(x)正确答案:8.函数形参加实参之间的传达是“值传达〞,以下表达正确的选项是 ( ) A. 实参和与其对应的形参共用一个储存单元B.实参和与其对应的形参各占用独立的储存单元C.当实参和与其对应的形参同名时才共用一个储存单元D.形参是形式的,不占用储存单元正确答案:9.设 C 语言中,一个 int 型数据在内存中占 2 个字节,那么 unsigned int 型数据的取值范围为 _____。
c语言程序设计形考任务二标准答案
c语言程序设计形考任务二答案————————————————————————————————作者:————————————————————————————————日期:一、选择题(共20分,每小题2分)当处理特定问题时的循环次数已知时,通常采用的语句是()。
a. forb. whilec. do-whiled. switch题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是()。
a. forb. ifc. dod. while题目3for语句能够被改写成的语句是()。
a. 复合b. ifc. switchd. while题目4下面循环语句执行结束后输出的i值为()。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}a. n/2b. n/2+1c. n/2-1d. n-1题目5在下面循环语句中,内层循环体S语句的执行总次数为()。
for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;a. n2b. (n+1)/2c. n(n-1)/2d. n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为()。
int i=0; do i++; while(i*i<10);a. 4b. 3c. 5d. 2题目7在下面的一维数组定义中,有语法错误的选项是()。
a. int a[]={1,2,3};b. int a[10]={0};c. int a[];d. int a[5];题目8在下面的二维数组定义中,语法正确的选项是()。
a. int a[5][];b. int a[][5];c. int a[][3]={{1,3,5},{2}};d. int a[](10);题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为()。
北航《C语言程序设计》在线作业二
4. 下列错误的语句是________。
A. int k,*p=&k; scanf(“%d”,&k);
B. int k,*p=&k; scanf(“%d”,p)
C. int k,*p; *p=&k; scanf(“%d”,p);
D. int k,*p ; p=&k; scanf(“%d”,p)
北航《C语言程序设计》在线作业二
一、单选题(共 15 道试题,共 60 分。)
1. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( )
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
2. C语言中函数返回值的类型是由___决定的。
北航《C语言程序设计》ห้องสมุดไป่ตู้线作业二
二、判断题(共 10 道试题,共 40 分。)
1. 数组的大小是固定的,但可以有不同类型的数组元素。( )
A. 错误
B. 正确
2. 使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”( )
A. 错误
B. 正确
5. 下列符号中,合法的C标识符是__________.①#i ②a>b ③_ave ④a_com
A. ②④
B. ②③
C. ③④
D. ②
6. 判断char型变量c1是否为大写字母的正确表达式为( )
A. ‘A‘<=c1<=‘Z‘
B. (c1>=‘A‘)&&(c1<=‘Z‘)
C. (c1>=A)&&(c1<=Z)
15春北航《C++程序设计》在线作业二满分答案
北航《C++程序设计》在线作业二单选题一、单选题(共25 道试题,共100 分。
)1. 以下错误的描述是____.A. 被调用函数中可以不用return语句B. 被调用函数中可以用多个return语句C. 被调用函数中,如果有返回值,就一定要有return语句D. 被调用函数中,一个return语句可返回多个值给调用函数-----------------选择:D2. 设x和y均为bool量,则x&&y为真的条件是______。
A. 其中一个为假B. 它们均为真C. 其中一个为真D. 它们均为假-----------------选择:B3. 在面向对象的程序设计中,一切都是围绕着___展开的。
A. 语言B. 结构C. 数据类型D. 类-----------------选择:D4. 预处理命令在程序中都是以____符号开头的A. *B. #C. &D. @-----------------选择:B5. 假定指针变量p定义为"int *p=new int(100);",要释放p所指向的动态内存,应使用语句____.A. delete p;B. delete *p;C. delete &p;D. delete []p;-----------------选择:A6. 下列各个成员函数中,纯虚函数是()A. void fun(int)=0B. virtual void fun(int)C. virtual void fun(int){}D. virtual void fun(int)=0-----------------选择:D。
15秋北航《C++程序设计》在线作业二 答案
15秋北航《C++程序设计》在线作业二一、单选题(共25 道试题,共100 分。
)V1. 类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,则下列说法正确的是A. 类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数B. 一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间C. 只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象D. 类A和类B中的同名虚函数的返回值类型必须完全一致-----------------选择:B2. 关于C++语言和C语言的关系的下列描述中,错误的是A. C语言是C++语言的一个子集B. C语言和C++语言都是面向对象的语言C. C++语言与C语言兼容D. C++语言对C语言做了些改进-----------------选择:B3. 文件包含中被包含的文件的扩展名( )A. 必须为.hB. 不能用.hC. 必须是.cD. 不一定是 .h-----------------选择:D4. 假定Myclass为一个类,则执行Myclass a[3],*p[2];语句时,自动调用该类构造函数_____次。
A. 2B. 3C. 4D. 5-----------------选择:D5. 已知:print( )函数是一个类的常成员函数,且无返回值。
在下列表示中,正确的是A. void print( ) const;B. const void print( );C.void print( );D. void print(const);-----------------选择:A6. 在函数定义前加上关键字“inline”,表示该函数被定义为____A. 重载函数B. 内联函数C. 成员函数D. 普通函数-----------------选择:B7. 下面有关重载函数的说法中正确的是______A. 重载函数必须具有不同的返回值类型B. 重载函数形参个数必须不同C. 重载函数必须有不同的形参列表D. 重载函数名可以不同-----------------选择:C8. 设B类是由A类继承的。
国开《C语言程序设计》(形考任务二)试题及答案
对错试题30一个二维字符数组a[10][20]能够存储的每个字符串的长度不超过20。
选择一项:C 对错三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分)试题31#include<stdio.h>void main(){int x=5switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10: printf("%d ",3*x-1); break;default: printf("%s","default\n");}1114试题32#include<stdio.h>void main(){int i,s=0;for(i=1;i<=5;i++)s+=i*i;printf("s=%d\n",s);}答案: s=55 试题33#include<stdio.h>试题36试题34试题35#include<stdio.h>const int M=20void main(){int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5);#include<stdio.h>void main(){int n=6,y=1;while y*=n--; printf("y=%d\n"y);}答案:y=720 }答案#include<stdio.h>void main()int i,s;for(i=1,s=0;i<10;i++){if(i%3==0) continue;S+=i;}printf("%d\n",s);}27答案:试题37#include<stdio.h>void main(){int a[8]={12,39,26,41,55,63,72,40);int i,il=0,i2=0;for(i=0;i<8;i++)if(a[])%2==1)i1++;else i2++;printf("%d %d\n",i1,i2);}44答案:试题38#include<stdio.h>int a[10]={4,5,6,15,20,13,12,7,8,9};void main(){int i,s[4]=0;for(i=0;i<10;i++){switch(a[i]%4){case O:s[0]+=a[i];break;case 1:s[1]+=a[i];break;case 2:s[2]+=a[i];break;试题 39 #include<stdio.h>void main(){char a[]="abcdbfbgacd";int i1=0,i2=0,i=0;while(a[])){if(a[i]=='a')i1++;if(a[i]=='b')i2++;i++;}printf("%d %d %d\n",i1,i2,i);}答案:试题40答案: 四、简答题:根据下列每个题目要求编写程序(共20分,每小题4分) #include<stdio.h>void main(){int a[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}}; int m=a[0][0]:int ij;for(i=0;i<3;i++)for(j=0;j<4;j++) if(a[i][j]>m)m=a[i][j];printf("%d\n",m);} default:s[3]+=a[i];break;}for(i=0;i<4;i++)printf("%d ",s[i]); } 答案:4427622231112试题41编写一个函数,函数头格式为“double Mean(double a[M][N],int m,int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程中采用变量v 存放平均值。
16秋北航《C语言程序设计》在线作业二
B. 2 3 4
C. 2 2 3
D. 2 3 3
正确答案:
10. 以下不正确的C语言标识符是_____。
A. ABC
B. abc
C. a_bc
D. ab.c
正确答案:
北航《C语言程序设计》在线作业二
二、判断题(共 15 道试题,共 60 分。)
正确答案:
5. 已知:int x=4,y=5,z;,则执行z=x=x>y;后,z的值为______。( )
A. 0
B. 1
C. 4
D. 5
正确答案:
6. 函数定义为Fun(int & i),变量定义n=100,则下面调用正确的是( ).
A. Fun(20)
B. Fun(20+n)
正确答案:
8. 设a=1,b=2,c=3,d=4, 则表达式a < b ? a : c < d ? c : d的结果是___________.
A. 4
B. 3
C. 2
D. 1
正确答案:
9. 有以下程序,main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %dn",i,j,k); } 程序运行后的输出结果是 _______
A. 错误
B. 正确
正确答案:
A. 错误
B. 正确
正确答案:
7. 在程序运行过程中,其值不能被改变的量称为常量( )
A. 错误
北航《C++程序设计》在线作业二
北航《C++程序设计》在线作业二一、单选题(共25 道试题,共100 分。
)1. 当处理特定问题时的循环次数已知时,通常采用____来解决。
A. for循环B. while循环C. do循环D. switch语句正确答案:2. 设x和y均为bool量,则x&&y为真的条件是______。
A. 其中一个为假B. 它们均为真C. 其中一个为真D. 它们均为假正确答案:3. 下列运算符中,____运算符在C++中不能重载A. &&B. []C. ::D. new正确答案:4. 对于C/C++语言的函数,下列叙述中正确的是A. 函数的定义不能嵌套,但函数调用可以嵌套B. 函数的定义可以嵌套,但函数调用不能嵌套C. 函数的定义和调用都不能嵌套D. 函数的定义和调用都可以嵌套正确答案:5. 执行语句序列int x; cin>>x; if(x>250) cout<<‘X‘; if(x<250) cout<<‘Y‘; else cout<<‘X‘; 时,不可能出现的情况是____A. XB. YC. XYD. XX正确答案:6. 下面列出的保留字中,不能作为函数的返回类型的是A. voidB. intC. newD. long正确答案:7. 由C++源程序文件编译而成的目标文件的默认扩展名为____A. cppB. exeC. objD. lik正确答案:8. 在下列运算符中,优先级最低的是A. ||B. !=C. <D. +正确答案:9. 在类的定义中,引入友元的原因是______。
()A. 提高效率B. 深化使用类的封装性C. 提高程序的可读性D. 破坏程序的封装性正确答案:10. 下面说法中,正确的是()A. 公有派生类的成员函数可以访问基类的私有成员B. 私有派生类的成员函数可以访问基类的私有成员C. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员D. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员正确答案:11. 假定变量b和pb定义为"int b[10], *pb=b;",要将24赋值给b[1]元素中,不正确的语句是.____A. *(pb+1)=24;B. *(b+1)=24;C. *++b=24;D. *++pb=24;正确答案:12. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_____.A. publicB. protectedC. privateD. static正确答案:13. 将两个字符串连接起来组成一个字符串时,选用___函数。
2014秋北京航空航天大学《C语言程序设计》在线作业2及答案
2014秋北京航空航天大学《C语言程序设计》在线作业2及答案C语言程序设计作业2单项选择题第1题十六进制数100转换成十进制数是:A、1024B、512C、256D、128答案:C第2题字符型数据的定义符为___。
A、intB、floatC、doubleD、char答案:D第3题下列不可作为C语言赋值语句的是:A、x=3,y=5B、a=b=6C、i--D、y=int(x)答案:C第4题结构化程序主张限制使用:B、whileC、gotoD、continue答案:C第5题下列数组名正确的是:A、aB、intC、2bcxD、a(d)答案:A第6题C语言从哪个函数开始执行?A、mainB、beginC、startD、go答案:A第7题C语言中,int类型数据所占的字节数是()。
A、1个B、2个C、4个D、8个第8题设有如下定义:intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是:A、1B、0C、4D、3答案:D第9题下列不出现在switch语句中的是:A、breakB、continueC、caseD、default答案:B第10题break语句不能用于:A、if语句B、for语句C、switch语句D、while语句答案:A第11题实数只有十进制小数形式和指数形式两种。
答案:正确第12题算数运算符优先级高于赋值运算符。
答案:正确第13题赋值表达式可以包括在其他语句中。
答案:正确第14题d格式符用来输出十进制数。
答案:正确第15题while语句实现直到型循环。
答案:错误第16题long能表示的最小数是-2^31。
答案:正确第17题字符数据只占一个字节,只能存放0~255范围内的整数。
答案:正确第18题将整型变量赋给双精度变量时,数值不变。
答案:正确第19题getchar函数没有参数。
答案:正确第20题逻辑非优先级高于逻辑与和逻辑或。
答案:正确。
《C语言及程序设计》在线作业答案
《C语言及程序设计》在线作业答案一、单选题(共15 道试题,共75 分。
)V1. 合法的C语言标识符是()。
A. abcB. 2abC. _a1D. /n满分:5 分2. 有两个字符数组a、b,则以下正确的输入语句是()。
A. gets(a,b);B. "scanf(""%s%s"",a,b);"C. "scanf(""%s%s"",a,b);"D. "gets(""a""),gets(""b"");"满分:5 分3. 若运行以下程序时,从键盘输入25,13,10回车,则输出结果为()。
main(){inta1,a2,a3;scanf("%d%d%d",a1,a2,a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A. a1+a2+a3=48B. a1+a2+a3=25C. a1+a2+a3=10D. 不确定值满分:5 分4. 以下为一维整型数组a的正确说明是()。
A. inta(10);B. "intn=10,a[n];"C. "intn;scanf(""%d"",n);"D. "#defineSIZE10;inta[SIZE];inta[n];"满分:5 分5. 以下能对二维数组a进行正确初始化的语句是()。
A. inta[2][]={{1,0,1},{5,2,3}};B. "inta[][3]={{1,2,3},{4,5,6}};"C. "inta[2][4]={{1,2,3},{4,5},{6}};"D. "inta[][3]={{1,0,1},{},{1,1}};"满分:5 分6. 函数rewind(fp)的作用是:使文件位置指针()。
《C语言程序设计》试题2及答案
《C语言程序设计》试题二 (1)一、填空题 (1)二、选择题 (2)三、阅读程序题 (5)四、程序填空题 (5)五、编程题 (7)《C语言程序设计》试题二答案 (8)《C语言程序设计》试题二一、填空题1、C语言中普通整型变量的类型说明符为int ,在内存中占4字节,有符号普通整型的数据范围是-32767~32768。
2、C语言中基本的数据类型有:整形、实型、字符型。
3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是-4。
4用体的各成员放到同一存储空间5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是a=1,b=3,c=2 。
6、有语句:char A[ ]={”I am a student”};该字符串的长度是14 ,A[3]= m。
7、符号”a”和’a’的区别‘a’是字符常量在内存中占一个字节”a”是字符串常量在内存中占两个字节。
8、下列程序的输出结果是7,1。
int ast(int x,int y,int * cp,int * dp){ *cp=x+y; *dp=x-y; }main(){ int a=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d); }二、选择题1、以下选项中属于C语言的数据类型是(B)。
A. 复合型B. 双精度型C. 逻辑型D. 集合型2、以下说法中正确的是(C)。
A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是(D)。
A. hot_doB. cat1C. _priD. 2ab4、下列描述中不正确的是(c)。
北航在线作业C语言答案2
B、typedef *char STP;
C、typedef STP *char;
D、typedef char *STP;
答案:D
第7题 执行语句"k=5∧3;"后,变量k的当前值是:
A、15
B、125
A、"Smith"
B、"Mary"
C、"S"
D、M'
答案:A
第10题 执行语句"k=5|3;"后,变量k的当前值是:
A、1
B、8
C、7
D、2
答案:C
判断题
第11题 逻辑与优先级高于关系运算符。
正确
错误
单项选择题
第1题 下列一维数组定义正确的是:
A、int a(5)
B、float b[32] long[]
答案:B
第2题 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为:
第15题 逻辑运算符两侧的运算对象可以是任何类型的数据。
正确
错误
答案:正确
第16题 do-while语句实现直到型循环。
正确
错误
答案:正确
第17题 for语句中的三个表达式都可省略。
正确
错误
答案:正确
B、a(5)
C、a{7}
D、a[10]
答案:A
第5题 下列引用错误的是: int a[3][4];
A、a[3][4]=3
B、a[1*2][2+1]=4
最新吉大16秋《C语言程序设计》在线作业二满分标准答案
《C语言程序设计》在线作业二满分标准答案《C语言程序设计》在线作业二1:C语言的基本数据类型是_______.A:int float double logicalB:int double float charC:int date float charD:int double float string正确答案:B2:能正确表示a和b同时为负的表达式是_______。
A:a*b>0B:a+b<0C:a<0||b<0D:a<0&&b<0正确答案:D3:设int类型的数据长度为2字节,则该类型数据的取值范围是________。
A:0至65536B:0至65535C:-32767至32768D:-32768至32767正确答案:D4:字符串的结束标志是______.A:n'B:'0'C:'"D:''正确答案:B5:对于C程序的函数,下列叙述中正确的是 ___ 。
A:函数的定义不能嵌套,但函数调用可以嵌套B:函数的定义可以嵌套,但函数调用不能嵌套C:函数的定义和调用均可以嵌套D:函数的定义和调用均不能嵌套正确答案:A6:下列二维数组初始化中,错误的是________.A:int a [ ] [3]={{3,4},{5,6,7}};B:int a [ ] [3]={2,3,4,5,6,7};C:int a [3] [3]={0};D:int a [3] []={{1,2,3},{2,3},{3,4,5}};正确答案:D7:结构化程序的三种基本结构是 _________。
A:顺序结构,分支结构,循环结构B:递归结构,循环结构,转移结构C:嵌套结构,循环结构,顺序结构D:递归结构,分支结构,顺序结构正确答案:A8:对于程序片段rninti,a [5];for(i=0;i<5;i++)scanf(“%d”,&a );rn若要使数组元素的值分别为1,2,3,4,5,正确的输入是 _________。
16春北航《C语言程序设计》在线作业二
1. 设int ,x;表达式正确的是__________.. =([0]+[1])/2. =(x=1,x++,x+2),10. *=*+1. ="goo"正确答案:满分:4 分2. 以下叙述中正确的是. 预处理命令行必须位于源文件的开头. 在源文件的一行上可以有多条预处理命令. 宏名必须用大写字母表示. 宏替换不占用程序的运行时间正确答案:满分:4 分3. 设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是______。
(). 3. 2. 1. 0正确答案:满分:4 分4. 下列叙述中不正确的是. 在不同的函数中可以使用相同名字的变量. 函数中的形式参数是局部变量. 在一个函数内定义的变量只在本函数范围内有效. 在一个函数内的复合语句中定义的变量在本函数范围内有效正确答案:满分:4 分5. 以下选项中属于语言的数据类型是(). 复数型. 逻辑型. 集合型. 双精度型正确答案:满分:4 分6. 数字字符0的SII值为48,若有以下程序min() { hr =‘1‘,=‘2‘; printf("%,",++); printf("%n",-); } 程序运行后的输出结果是 _______.. 3,2. 50,2. 2,2. 2,50正确答案:满分:4 分7. 若用数组名作为函数调用时的参数,则实际上传递给形参的是. 数组元素的个数. 数组的第一个元素值. 数组中全部元素的值. 数组首地址正确答案:满分:4 分8. 设hr h; 以下正确的赋值语句是. h='123';. h='\xff';.h='\08';. h="\"正确答案:满分:4 分9. 下列数组定义正确的是________。
. int [5],[2,3];. hr no(30);. hr x[];. int x[5]={1,2,3};正确答案:满分:4 分10. 若有说明语句:int w=2,x=3,y=3,z=4;则表达式w>x?w:z>y?z:x的值是. 4. 3. 2. 1正确答案:满分:4 分1. ‘ ’和“”在内存中所占字节数相同。
北航《C语言程序设计》答案
北航《C语言程序设计》答案```plaintext一、基本概念和语法1. 在C语言中,什么是标识符?答:标识符是由字母、数字和下划线组成的字符序列,用于给变量、函数等命名。
2. C语言的注释有哪几种形式?答:C语言的注释有单行注释(//)和多行注释(/* */)两种形式。
3. 请简要解释一下C语言中的变量声明和定义的区别。
答:变量声明是为变量分配内存空间,告诉编译器该变量的类型和名称;变量定义是在声明的基础上为变量分配初值。
4. C语言中有哪些基本数据类型?请列举并简要介绍。
答:C语言中有int、float、char、double、void等基本数据类型。
- int类型用于表示整数;- float和double类型用于表示浮点数;- char类型用于表示字符;- void类型用于表示无类型。
5. C语言中的运算符有哪些种类?请简要介绍一下算术运算符和逻辑运算符。
答:C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。
- 算术运算符用于完成基本的算术运算,如加法(+)、减法(-)、乘法(*)、除法(/)等;- 逻辑运算符用于处理逻辑判断,如与(&&)、或(||)、非(!)等。
二、流程控制语句1. C语言中的条件语句有哪些?请简要介绍if语句和switch语句。
答:C语言中的条件语句有if语句和switch语句。
- if语句用于判断条件是否成立,若条件为真,则执行相应的代码;- switch语句用于根据表达式的值选择执行不同的代码块。
2. 循环语句在C语言中有哪几种形式?请简要介绍while循环和for循环。
答:C语言中的循环语句有while循环、do-while循环和for循环。
- while循环用于在指定条件为真的情况下重复执行一段代码;- for循环结构更加灵活,通过初始化、条件和增量表达式来控制循环次数。
三、函数和数组1. C语言中的函数有哪些特点?请简要介绍函数的定义和调用。
北航1212考试批次《C程序设计》复习题二答案.doc
北航1212考试批次《C++程序设计》复习题二一、客观题单项选择题(本大题共20小题,每小题1.5分,共30分)1、下面关于类的说明中,有—个语法错误(C )。
class ss{ int data=3;public:int ss(int x=0);~ss (int x );};A. 1B. 2 C・ 3 D. 42、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(B )oA. MAINB. mainC. nameD. function3、假定a是一个只允许同一个源程序文件中所有函数都能使用的全局变量,则其存储类别是(C )。
A. externB. registerC. static D・ auto4、C++语言的跳转语句中,对于break和continue说法正确的是(B )。
A. break语句只应用于循环体中;B. continue语句只应用于循环体中;C.break是无条件跳转语句,continue不是;D.break和continue的跳转范围不够明确,容易产生问题;5、将两个字符串连接起来组成一个字符串时,选用—函数。
(B )。
A. strlen( )B. strcat( )C. strcpy( )D. strcmp()6、下面的哪个保留字不能作为函数的返回类型?( C )A、voidB、intC、newD、long7、关于虚函数的描述中,正确的是(C )A、虚函数是一个static类型的成员函数B、虚函数是一个非成员函数C、基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型8、下面函数的功能是(B )。
void fun(char sl[ ], char s2[ ]) { while(s2++=sl++); }A、字符串比较B、字符串复制C、字符串连接D、字符串反向9、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(A )。
C语言程序设计(第二版)答案
参考答案习题二(P33)一.单选题1.C2.B3.D4.C5.A6.D7.D8.B9.B 10.D 11.D 12.C 13.C . 15. A 14题最后一句应为printf("%f\n",d*y);结果为2.2二.填空题1. 182. int float double3. 10 114. 八十六十5. %三.阅读程序题1.10,10,9,102.j=1,i=2k=3,i=3j=3,i=2k=1,i=1习题三(P52)一.单选题1.D2.C3.D4.B5.A6.B7.C8.A9.C 10.B 11. -1,37777777777,4294967295 二.填空题5. L6. -1三.阅读程序题1. 6 6 6.00 6.002. x=127,x= 127,x=177,x=7fY=123.4567 , y= 123.46 , y=123.456703. 2,14. 12345. 4,36. -6,-6四.程序设计题1.#include "stdio.h"#include "math.h"main(){float a,b,c,d,x1,x2;a=2;b=-3;c=-5;d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%.2f,x2=%.2f\n",x1,x2);}2.#include <stdio.h>main(){ float a,v,s;scanf("%f",&a);v=a*a*a;s=6*a*a;printf("v=%.2f,s=%.2f\n",v,s);}3.#include <stdio.h>main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);t=c;c=b;b=a;a=t;printf("a=%d,b=%d,c=%d\n",a,b,c);}4.#include <stdio.h>main(){ char s1,s2;s1=getchar();s2=s1-32;printf("%c\n",s2);}习题四(P70)一.单选题1.C2.D3.D4.B5.A6.D7.D8.B9.C 10.A 11.B 12.D 13.passwarnerror .14.C 15. C 16.B 17. B 18. C二.填空题1. 非0 02. k==03. n%7==0 && n%8==0 else三.阅读程序题1. a=1,b=02. c=1四.程序设计题1.#include <stdio.h>main(){ int a,b;char c;printf("INPUT A+(-*/)B\n");scanf("%d%c%d",&a,&c,&b);switch(c){case'+':printf("%d+%d=%d\n",a,b,a+b);break;case'-':printf("%d-%d=%d\n",a,b,a-b);break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':printf("%d/%d=%d\n",a,b,a/b);break;default:printf("INPUT ERROR!");}}2.#include <stdio.h>main(){ float x,y;scanf("%f",&x);if(x==0||x==2)y=0;else if(x>0) y=(x+1)/(x-2);else y=(x-1)/(x-2);printf("y=%f\n",y);}3.#include <stdio.h>main(){ int g;printf("请输入学生成绩:");scanf("%d",&g);printf("g=%d:",g);switch(g/10){case 10:printf("A\n");break;case 9:printf("B\n");break;case 8:printf("C\n");break;case 7:printf("D\n");break;case 6:printf("E\n");break;default:printf("F\n");}}4.#include <stdio.h>main(){ int x,n=0;scanf("%d",&x);if(x<=0||x>=10000)printf("Data Error!\n");else{if(x<10)n=1;else if(x<100)n=2;else if(x<1000)n=3;else n=4;}printf("n=%d\n",n);}习题五(P87)一.单选题1.B2.D3.C4.C5.B6.C7.D8.C9.A 10.D 11.B 12.B 13.B 14.D 15. C 二.填空题1. for语句while语句do-while语句2. a=14,y=263. k=14,n= -14. 395. s=196. 222227. 108. 79. 810. 5,5三.改错题应改为for(i=0;i<5;i++)j++;应改为int j=0;while(j<10){j++;i=j;} 注while(j<10)后不应有分号应改为while(j<10); 注while(j<10)后分号不能少s*=i;i++;应改为{s*=i;i++;}continue 应改为break四.程序设计题1.#include <stdio.h>main(){ int i,j,s=0;for(i=1,j=1;i<=100;i++,j=j*(-1))s=s+i*j;printf("s=%d\n",s);}1.(另一做法)#include<stdio.h>main(){int i,s;for(i=1,s=0;i<=100;i++)if(i%2==0)s=s-i;else s=s+i;printf ("%d\n",s);}2.#include <stdio.h>main(){ int i,j,s1=0,s2=0;for(i=0;i<10;i++){scanf("%d",&j);if(j>0)s1=s1+j;else s2=s2+j;}printf("s1=%d,s2=%d\n",s1,s2);}3.#include<stdio.h>main(){int i,s;for(i=6,s=0;i<=96;i=i+1)if(i%10==6||i/10==6)s=s+i;printf ("%d\n",s);}4.#include<stdio.h>main(){int i,a,b,c;for(i=100;i<=999;i++){a=(i%10);b=(i/10%10);c=(i/100);if(i==a*a*a+b*b*b+c*c*c)printf ("%d\n",i);}}5.#include <stdio.h>main( ){int i,j,k=0;for (i=1;i<=4;i++){for (j=1;j<=i;j++){k++;printf("%d",k%10);}printf("\n");}}6.#include <stdio.h>main( ){int i,j,k=0;for (i=-3;i<=3;i++){if(i<0)k=-i;else k=i;for(j=1;j<=k;j++)printf(" ");for(j=1;j<=7-2*k;j++)printf("*");printf("\n");}}习题六(P111)一.单选题1.D2.B3.C4.C5.C6.D7.A8.B二.填空题1. 20 0 192. 数组名3. 越界4. 65. j==k a[j][k]=1; a[j][k]=0;三.阅读程序题1. 6 5 43 2 12.aaabbbccc ddd3.2,2,1四.程序设计题1.#include<stdio.h>main(){ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s+=a[i][j];printf("%d",s);}2.#include <stdio.h>{ char a[80];int i,j=5; /*假设删除位置为5*/gets(a);for(i=j-1;a[i]!='\0';i++)a[i]=a[i+1];a[i]='\0';puts(a);}3.#include <stdio.h>#include <string.h>main(){ char a[80];int i,j=5; /*假设插入位置为5*/char s='t'; /*假设插入字符为t*/gets(a);for(i=strlen(a);i>j;i--)a[i+1]=a[i];a[j]='t';puts(a);}4.#include<stdio.h>main(){ int a[3][5]={1,3,5,7,9,2,4,6,8,10,3,5,8,7,6}; int i,j,s1[3]={0},s2[5]={0};for(i=0;i<3;i++)for(j=0;j<5;j++)s1[i]+=a[i][ j];for(i=0;i<5;i++)for(j=0;j<3;j++)s2[i]+=a[ j][i];for(i=0;i<3;i++){for(j=0;j<5;j++)printf("%6d",a[i][j]);printf (" |%6d\n",s1[i]);}for(i=0;i<33;i++) printf("-");printf("\n");for(i=0;i<5;i++) printf("%6d",s2[i]);printf("\n");}5.#include<stdio.h>{ char s[3][80];int a=0,b=0,c=0,d=0,e=0,i,j;for(i=0;i<3;i++) gets(s[i]);for(i=0;i<3;i++)for(j=0;s[i][j]!='\0';j++)if(s[i][j]>='A'&&s[i][j]<='Z')a++;else if(s[i][j]>='a'&&s[i][j]<='z')b++;else if(s[i][j]>='0'&&s[i][j]<='9')c++;else if(s[i][j]==32)d++;else e++;printf("%3d%3d%3d%3d%3d",a,b,c,d,e);}习题七(P145)一.单选题1.A2.B3.C4.A5.C6.D7.C8.B9.B 10.C 11.D 二.填空题1. 该函数内局部2. 整型3. k<=breturn y;4. x[i]return (ave);fun(a,20)5. 1;add(n-1);add(n);6. n*f(n-1)0;f(i)三.阅读程序,写出运行结果1.10,20,302.643.84. hlo5. sum=55四.程序设计题1.#include <stdio.h>main(){float add(float, float), sub(float, float);float aver(float, float),a,b;scanf("%f,%f",&a,&b);printf("add=%f, sub=%f\n ", add(a,b), sub(a,b)); printf("aver =%f", aver(a,b));}float add(float x, float y) {return(x+y);}float sub(float x, float y) {return(x-y);}float aver(float x, float y) {return((x+y)/2);} 2.#include<stdio.h>main(){ int a,b,c,abmax(int,int);scanf("%d%d%d",&a,&b,&c);printf("max=%d\n",abmax(abmax(a,b),c)); }int abmax(int a,int b){if(a>b)return a;else return b;}3.#include <stdio.h>main(){float x,fun(float, int);int n;scanf("%f%d",&x,&n);printf("%f\n", fun(x,n));}float fun(float x, int n){float y;if(n==0)y=1;else y=x*fun(x,n-1);return y;}4.#include <stdio.h>main(){long f(int);int n,k;scanf("%d",&n);for(k=1;k<=n;k++)printf("%ld,",f(k));printf("\n");}long f(int n){long y;if(n<=2)y=1;else y=f(n-1)+f(n-2); return y;}5.#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k,s;for(k=0;k<n/2;k++) {s=a[k];a[k]=a[n-k-1];a[n-k-1]=s;}}5. (另一做法)#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k;char b[50];for(k=0;k<n;k++)b[n-1-k]=a[k];b[k]=a[k];strcpy(a,b);}6.#include <stdio.h>#define KK 100main(){char a[KK];long sjz(char a[]);int i=0,f1=0;printf("input a data:");gets(a);for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9'||a[i]>='A'&&a[i]<='F'||a[i]>='a'&&a[i]<='f') continue;else {f1=1;break;}}a[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(a));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}6.(另一做法)#include <stdio.h>#define KK 100main(){char str[KK],c;long sjz(char a[]);int i=0,f1=0;printf("input a data:");while((c=getchar())!='\n'&&i<KK){if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f')str[i++]=c;else f1=1;}str[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(str));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}习题八(P181) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.C4.D5.C6.B7.C8.C9.C 13.D 14.B 15.A 16.C 17.A 二.填空题1. 指向取地址2. 2 +23. 286. *(p+5)7. ABCD A三.阅读程序题1.102.103.04. 3,65. 1 2 3 4四.程序填空题1.a,b,c或者&x,&y,&z max=*b或者max=y max=*c或者max=z2. ++ =*q ++ ++4. int *a,int *b b[j]=a[i] b[i++]5. *str+=3 *str>’z’&&*str<’a’||*str>’z’ a6. else 0 t[2*j+1]五.程序设计题1.#include <stdio.h>main(){int a[10],*p,*q,t;p=a;for(q=a;q<a+10;q++)scanf("%d",q);for(q=a;q<a+10;q++)printf("%5d",*q);printf("\n");q--;for(;p<q;p++,q--){t=*p;*p=*q;*q=t;}for(p=a;p<a+10;p++)printf("%5d",*p);printf("\n");}2.#include <stdio.h>#include <string.h>void main( ){ char a[50],*p1,*p2,t,n;gets(a);n=strlen(a);p1=a; p2=a+n-1;for(; p1<p2; p1++, p2--){t=*p1; *p1=*p2; *p2=t;}puts(a);}另一做法#include <stdio.h>main(){char str[20],*p=str;gets(str);while(*p)p++;p--;while(p>=str){printf("%c",*p);p--;}printf("\n");}3.#include <stdio.h>main(){int a[10],*p,*max,*min,t;for(p=a;p<a+10;p++)scanf("%d",p); for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");max=min=a;for(p=a+1;p<a+10;p++){if(*p>*max)max=p;if(*p<*min)min=p;}t=a[0];a[0]=*min;*min=t;t=a[9];a[9]=*max;*max=t;for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");}5.#include <stdio.h>int length(char *s){int n=0;while(*s){n++;s++;}return n;}main(){char str[20];int n;gets(str);n=length(str);printf("The string length is %d\n",n);}6.#include <stdio.h>main(){char str[81],*p=str,*q,t;gets(str);printf("The origenal string:\n");puts(str);for(p=str;*(p+1);p++)for(q=p+1;*q;q++)if(*q<*p){t=*p;*p=*q;*q=t;}printf("The result string:\n");puts(str);}习题九(P222) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.B4.D 8.B 9.B 10.C二.填空题1. 结构体成员结构体指针指向2. 343. 224.ex三.阅读程序题1.92.10,x3.134. 46 40 415. 06. 3839。
C语言程序设计作业2答案
<C语言程序设计>第2次作业答案一、单项选择题答案1B 2B 3D 4C 5B 6B 7D 8D 9B 10C11C 12B 13A 14C 15B 16B 17D 18A 19D 20B一.单项选择题1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a;则值为5的表达式是()。
A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为()fun( ( a, b, c, d ), ( m, n ), (f, g ) );A)1 B)3 C)4 D)23.函数形式正确的是()。
A) double myfun( int x, int y) B) int myfun( int x, y){ m=x+y; return m; } { int m; }C) int myfun( int x, int y) D) int myfun( int x, int y){ int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; }4.不正确的字符串赋值或赋初值方式是()。
A)char *str; str=”string”; B)char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’}C) char str[10]; str=”string”;D)char str[]=”string”; str2[]=””; strcpy(str2, str1);5.以下程序的输出结果是()。
#include <stdio.h>main(){ char str[]="SSSWLIA", c;int k;for (k=2; (c=str[k])!='\0'; k++) {switch (c) {case 'I': ++k; break;case 'L': continue;default: putchar(c); continue;}}putchar('*');}A)SSW* B)SW* C)SW*A D)SW6.以下程序的输出结果是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北航《C语言程序设计》在线作业二
一、单选题(共 10 道试题,共 40 分。
)
1. 若用数组名作为函数调用时的参数,则实际上传递给形参的是
A. 数组元素的个数
B. 数组的第一个元素值
C. 数组中全部元素的值
D. 数组首地址
-----------------选择:D
2. 下列关于#include命令的叙述中,错误的是
A. #include命令中,文件名可以用双引号或尖括号括起来
B. 一个被包含文件中又可以包含另一个被包含文件
C. 一个#include命令中可以指定多个被包含文件
D. 一个#include命令中只能指定一个被包含文件
-----------------选择:C
3. 在C程序中,若对函数类型未加说明,则函数的隐含类型为( )
A. int
B. double
C. void
D. char
-----------------选择:A
4. 表达式( )的值是0。
A. 3%5
B. 3/5.0
C. 3/5
D. 3<5
-----------------选择:C
5. 已知:int a=5; 执行以下的程序段后输出结果为_______.Do { printf(“%dn”,a--); } while (!a);
A. 5
B. 4
C. 陷入死循环
D. 5 4 3 2 1
-----------------选择:A
6. 有以下语句:int b;char c[10];,则正确的输入语句是_______
A. scanf("%d%s",&b,&c);
B. scanf("%d%s",&b,c);
C. scanf("%d%s",b,c);
D. scanf("%d%s",b,&c);
-----------------选择:B
7. 若有定义:int x; 要将x强制转换为双精度型,应该写成
A. x(double)
B. x(double)
C. (double)x
D. double(x)
-----------------选择:C
8. 函数形参与实参之间的传递是“值传递”,以下叙述正确的是( )
A. 实参和与其对应的形参共用一个存储单元
B. 实参和与其对应的形参各占用独立的存储单元
C. 当实参和与其对应的形参同名时才共用一个存储单元
D. 形参是形式的,不占用存储单元
-----------------选择:B
9. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_____。
A. 0~255
B. 0~32767
C. 0~65535
D. 0~2147483647
-----------------选择:C
10. 已知:int x,a,b;下列选项中错误的if语句是______。
()
A. if(a=b) x++;
B. if(a=<b) x++;
C. if(a-b) x++;
D. if(x) x++;
-----------------选择:B
北航《C语言程序设计》在线作业二
单选题判断题
二、判断题(共 15 道试题,共 60 分。
)
1. C程序中,有调用关系的所有函数不一定放在同一个源程序文件中。
( )
A. 错误
B. 正确
-----------------选择:B
2. C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。
()
A. 错误
B. 正确
-----------------选择:B
3. C语言中规定函数的返回值的类型由在定义该函数时所指定的函数类型所决定。
( )
A. 错误
B. 正确
-----------------选择:B
4. 一个算法应该具备有穷性、确定性、输入、输出和有效性。
( )
A. 错误
B. 正确
-----------------选择:B
5. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。
()
A. 错误
B. 正确
-----------------选择:B
6. 数据结构指的是数据的组织形式,数组就是一种数据结构()
A. 错误
B. 正确
-----------------选择:B
7. C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。
()
A. 错误
B. 正确
-----------------选择:A
8. ‘ a’和“a”在内存中所占字节数相同。
()
A. 错误
B. 正确
-----------------选择:A
9. 指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。
( )
A. 错误
B. 正确
-----------------选择:B
10. 在标准C语言中,可以引用整个数组,而不必引用每一个数组元素。
()
A. 错误
B. 正确
-----------------选择:A
11. 使用符号常量的好处是:一,含义清楚,二,在需要改变一个常量时能做到“一改全改”()
A. 错误
B. 正确
-----------------选择:B
12. C语言程序总是从主函数开始执行,在主函数结束。
( )
A. 错误
B. 正确
-----------------选择:B
13. 由于函数scanf在接收变量时必须指定该变量在内存中的地址,因此有scanf("%s",&str)。
()
A. 错误
B. 正确
-----------------选择:A
14. 在C语言中,可以用typedef定义一种新的类型。
()
A. 错误
B. 正确
-----------------选择:A
15. 设char s[10]; *p=s; 则s=p+s;是正确的表达式。
( )
A. 错误
B. 正确
-----------------选择:A。