北京大学网络教育学院 C语言作业答案

合集下载

北大网络教育(计算机专业)C程序设计作业答案知识分享

北大网络教育(计算机专业)C程序设计作业答案知识分享

北大网络教育(计算机专业)C程序设计作业答案第一章作业一、将数150、10.75、50.375用十六进制表示150=96;10.75=A;50.375=32150(十进制)=96(十六进制)10.75(十进制)=A.C(十六进制)50.375(十进制)=32.6(十六进制)二、填空1.在C语言中,数值常量0x2a的十进制值是 42 。

2.字母m的ASCII码为十进制数______109_____。

第三章作业一、选择题:1、下列变量名中, B 是非法的。

A) Tom B) 3n C) little_boy D) c102、下列变量名中, A 是合法的。

A) _boo B) 70A C) 30b D) while3、下列常量中, C 是十六进制表示的int型常量。

A) 17 B) x52 C) 0xa3 D) 0864、假设所有变量均为整型,则表达式(a=1,b=3,b++,a+b)的值是 A 。

A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’C’+’8’-‘A’后,c2的值为 D 。

A) 12 B) 11 C)不确定的值D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标识符的字符有( B )A下划线B %C数字D字母8、设int a;则表达式a=2,4,a+2的值是( D )A.1B.2C.3D.49.设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为( C )A. 20B.22C. 24D. 44第四章作业一、选择题1、在scanf()函数的格式说明符中,长整型数的输入格式符是 B 。

北理C语言作业及答案3

北理C语言作业及答案3

C语言作业3 43. 缩写展开成绩: 10 / 折扣: 0.8在保存字符串时,对出现在连续位置的若干个字符,如这些字符在ASCII表中也是连续出现,则可以将这些字符使用缩写形式进行保存,以节省保存空间。

例如用A-Z表示ABCD...XYZ,1-5表示12345,c-f表示cdef。

输入:包含缩写形式的字符串输出:将缩写形式进行还原后的字符串说明:只分别对大写字母、小写字母和数字进行压缩,对于形如9-A,a-C这样的缩写不进行处理。

测试输入期待的输出时间限制内存限制额外进程测试用例1以文本方式显示1.0-9↵以文本方式显示1.0123456789↵1秒64M 0测试用例2以文本方式显示1.G-I↵以文本方式显示1.GHI↵1秒64M 0测试用例以文本方式显示1.ABDG-K035-9abd-h↵以文本方式显示1.ABDGHIJK0356789abdefgh↵1秒64M 0#include <stdio.h>int main(){int i=0;char s[100];gets(s);while(s[i]!='\0'){if(s[i+1]!='-'){printf("%c",s[i]);i++;}else{if(s[i+2]>s[i] && ((s[i]<=57)+(s[i+2]<=57)!=1) && (s[i]<=57||s[i]>=65)){while(s[i]!=s[i+2]){printf("%c",s[i]++);}i+=2;}else printf("%c",s[i++]);}}printf("\n");return 0;}44. 函数递归成绩: 10 / 折扣: 0.8编写一个函数,使用递归算法求满足下述定义的整数序列的第n项。

大学《C语言》试题及参考答案

大学《C语言》试题及参考答案

(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。

(3) 从键盘输入10个正的整数,找出其中的素数输出。

答: #include#includeint f(int x){int i;for(i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1}void main(){int a[10],i,n=0,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if( f(a[i]) n++;else a[i]=0;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if( a[j]<A[J+1] ) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("共有%d个素数,它们是:",n);(4)编写程序打印下列图案答:#include "stdio.h"void main() {for (int i = 0;i <= 4;i++) {for (int j = 0;j <= i;j++) { printf("*");}printf("\n");}}(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。

不允许使用strlen函数答:#include "stdio.h"void convert(char *str){for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'A' && str[i] <= 'Z') {str[i] = str[i] - 'A' + 'a';}}}int main(){char str[20] = "aZcdABxDEF123";convert(str);printf("%s\n", str);return 0;}(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b 中,并对b数组的值按降序排列。

北大网络教育(计算机专业)C程序设计作业答案

北大网络教育(计算机专业)C程序设计作业答案

北大网络教育(计算机专业)C程序设计作业答案第一章作业一、将数150、、用十六进制表示150=96;=A;=32150(十进制)=96(十六进制)(十进制)=(十六进制)(十进制)=(十六进制)二、填空1.在C语言中,数值常量0x2a的十进制值是 42 。

2.字母m的ASCII码为十进制数______109_____。

第三章作业一、选择题:1、下列变量名中, B 是非法的。

A) Tom B) 3n C) little_boy D) c102、下列变量名中, A 是合法的。

A) _boo B) 70A C) 30b D) while3、下列常量中, C 是十六进制表示的int型常量。

A) 17 B) x52 C) 0xa3 D) 0864、假设所有变量均为整型,则表达式(a=1,b=3,b++,a+b)的值是 A 。

A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’C’+’8’-‘A’后,c2的值为 D 。

A) 12 B) 11 C)不确定的值D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标识符的字符有( B )A下划线B %C数字D字母8、设int a;则表达式a=2,4,a+2的值是( D )9.设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为( C )A. 20 C. 24 D. 44第四章作业一、选择题1、在scanf()函数的格式说明符中,长整型数的输入格式符是 B 。

A. %lfB. %ldC. %fD. %x2、在printf()函数的格式说明符中,字符型数的输出格式说明符是 D 。

c语言的考试题目答案及解析

c语言的考试题目答案及解析

c语言的考试题目答案及解析1. 题目:以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C解析:在C语言中,变量名必须以字母或下划线开头,不能以数字开头。

因此,选项A和D是不合法的。

选项B虽然以字母开头,但是数字紧跟字母,没有下划线或空格分隔,所以也是不合法的。

选项C 以下划线开头,符合变量命名规则。

2. 题目:以下哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A解析:在C语言中,字符串字面量应该用双引号括起来。

选项B使用了单引号,这是用于字符字面量的,而不是字符串。

选项C和D是重复的,并且由于格式问题,它们可能没有正确显示,但假设它们是正确的字符串字面量,那么答案应该是A,因为它是第一个出现的合法字符串字面量。

3. 题目:以下哪个选项是C语言中正确的函数声明?A. int function(int x) {}B. void function() {}C. int function(int x, int y) {}D. All of the above答案:D解析:在C语言中,函数声明可以包含参数列表,也可以没有参数。

选项A和C都包含了参数列表,并且参数类型是int,这是合法的。

选项B没有参数列表,并且指定了返回类型为void,这也是合法的。

因此,所有选项都是正确的函数声明。

4. 题目:以下哪个选项是C语言中正确的条件语句?A. if (x > 0) { ... }B. if x > 0 { ... }C. if (x > 0) { ... } else { ... }D. if (x > 0) { ... } elseif { ... }答案:C解析:在C语言中,条件语句必须使用if关键字,并且条件表达式需要用括号括起来。

北师大网网络教育c程序设计一(答案)

北师大网网络教育c程序设计一(答案)

《C++程序设计》第一套作业及其答案说明:本套作业涵盖第1章——第4章所学的内容。

本套作业共有38道单选题,1道多选题,共41个答案,满分为100分,错一个答案扣除2.5分。

1、在一个C++程序中,main函数的位置(C)。

(A)必须在程序的开头(B)必须在程序的后面(C)可以在程序的任何地方(D)必须在其它函数中间2、C++程序中的语句必须以(B)结束。

(A)冒号(B)分号(C)空格(D)花括号3、在下列八进制整型常量的表示中,(B)是正确的。

(A)0a0 (B)015 (C)080 (D)0x104、在下列十六进制整型常量的表示中,(C)是错误的。

(A)0x11 (B)0xaf (C)0xg (D)0x1f5、下列正确的字符常量为(D)。

(A)“a”(B)“\0”(C)a (D)‘\101’6、在下列运算符中,(D)优先级最低。

(A)!(B)&& (C)!= (D)?:7、设i=1, j=2,则表达式i+++j的值为(C)。

(A)1 (B)2 (C)3 (D)48、已知i=0, j=1, k=2,则逻辑表达式++i || --j && ++k的值为(B)。

(A)0 (B)1 (C)2 (D)39、设a=1, b=2, c=3, d=4,则条件表达式a<b ? a : c<d ? c : d的值为(A)。

(A)1 (B)2 (C)3 (D)410、逗号表达式(x = 4 * 5, x * 5), x + 25的值为(D)。

(A)25 (B)20 (C)100 (D)4511、已知int i, x, y; 在下列选项中错误的是(C)。

(A)if(x && y) i++; (B)if(x = y) i--;(C)if(xy) i--; (D)if(x + y) i++;-1 x<012、设有函数关系为 y = 0 x=0 ,下面选项中能正确表示上述关系为(C)。

C语言课程 课后练习 参考答案

C语言课程 课后练习 参考答案

实验6-1课后练习:1.选择题(1)B (2)C(3)A(4)D(5)C (6)C (7)D 2.阅读程序,写出运行结果3020103.阅读程序,写出运行结果20104. 阅读程序,写出运行结果1 2 35.阅读程序,写出运行结果7 8 96.阅读程序,写出运行结果97.阅读程序,写出运行结果#include <stdio.h>int digit(int n,int k);int main(){ int n,k;printf("Enter n,k: ");scanf("%d %d",&n,&k);printf("\nThe result is:%d\n",digit(n,k));return 0;}int digit(int n,int k){ int d;while(k>0){ d=n%10;n=n/10;k--;}return d;}8.程序填空#include <stdio.h>double max(double a,double b);int main(){ double x,y;prinf("please input two double numbers:"); scanf("%lf %lf"),&x,&y;printf("%.2f\n",max(x,y));return 0;}double max(double a,double b){return (a>b?a:b);}9.原版#include <stdio.h>int check(int n,int d);int main(){ int n,d;printf("Enter n,d: ");scanf("%d %d",&n,&d);if(check(n,d)==1)printf("The digit %d is in data %d",d,n); elseprintf("The digit %d is not in data %d",d,n); return 0;}int check(int n,int d){ int temp;while(n>0){ temp=n%10;if(temp==d)return 1;n=n/10;}return 0;}改进版#include <stdio.h>int check(int n,int d);int main(){ int n,d,position;printf("Enter n,d: ");scanf("%d %d",&n,&d);position=check(n,d);if(check(n,d)>0)printf("The digit %d is in data %d,position is %d",d,n,position);elseprintf("The digit %d is not in data %d",d,n);return 0;}int check(int n,int d){ int temp,position=1;while(n>0){ temp=n%10;if(temp==d)return position;position++;n=n/10;}return 0;}实验6-2课后练习1.选择题(1)B (2)C(3)B(4)B(5)C (6)B (7)D (8)D (9)C(10)B(11)A2.填空(1) 函数中声明有局部变量,若声明中带有static,则该局部变量采用静态存储方式,在编译时分配空间,若函数中未显式设定初始值,则系统将其自动初始化,函数被调用结束时,该空间不释放。

北理c语言期末考试试题及答案

北理c语言期末考试试题及答案

北理c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. stringC. floatD. double答案:A2. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. class答案:A3. 在C语言中,以下哪个不是合法的变量名?A. _myVarB. my_varC. 2myVarD. myVar2答案:C4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ==D. ::5. C语言中,用于声明一个函数的关键字是?A. functionB. defC. voidD. int答案:C6. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!D. 'Hello, World!'答案:A7. C语言中,用于执行循环的关键字是?A. loopB. repeatC. whileD. do答案:C8. 下列哪个选项是C语言中的正确注释?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment答案:A9. C语言中,用于定义一个枚举类型的关键字是?B. typedefC. unionD. struct答案:A10. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[] = {1, 2, 3, 4, 5};D. int arr[5] = {1, 2, 3, 4};答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个全局变量的关键字是________。

北京科技大学远程教育C语言程序设计考试及答案

北京科技大学远程教育C语言程序设计考试及答案

C语言程序设计一、单项选择题1、下列初始化正确的是A.char s1[ ]="abcd";B.char s2[3]="zxy";C.char * p=1000 ;D.char s4[2][3]={{"xyz"},{"mnp"}} ;2、设整型变量a为5,使b不为2的表达式是A.b = a/2B.b = 6-(--a)C.b=a%2D.b=a>3?2:13、若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是A.1B.2C.2.0D.2.54、以下对二维数组a的正确定义是A.int a[3][];B.float a(3,4);C.double a[2][4];D.float a(3)(4) ;5、假设有两个字符数组a,b,则以下正确的输入语句是A.puts(a,b);B.scanf(“%s%s”,a,b);C.scanf(“%s%s”,&a,&b);D.gets(“a”);gets(“b”);6、要求运算数必须是整数的运算符是A.*B.%C./D.+7、以下不正确的定义语句是A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5.3]={0,1,3,5,7,9};C.char c1[]={‘1’, ‘2’, ‘3’, ‘4’, ‘5’};D.char c2[]={‘\x10’, ‘\xa’, ‘\x8’};8、以下对二维数组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}};9、设有定义:char s[12]="string";则printf ("%d\n",strlen(s));的输出是A.6B.7C.11D.1210、给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};以下正确的叙述是A.数组x和数组y等价B.数组x和数组y长度相等C.数组x的长度大于数组y的长度,因为还存储了一个结束符D.数组x的长度小于数组y的长度,因为还存储了一个结束符11、下面不正确的字符串常量是A.‘abc’B.“1+2=10”C.“1=2”D.“”12、若变量a是int类型,并执行了语句:a=′A′+1.6;,则正确的叙述是A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符′A′的ASCII值加上113、C语言的基本单位是A.子程序B.主程序与子程序C.函数D.过程14、执行x=(6*7%8+9)/5; 后,x的值为A.1B.2C.3D.415、在以下标识符中,合法的是A.ifB.0xyC._xyD.case16、执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A.不定值B.33C.30D.1017、下列程序段的运行结果char c[15]={'a','b','\0','c','\0'};printf(“%s”,c);A.'a','b'B.abC.abcD.a ,b18、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为A.intB.floatC.doubleD.不确定19、不能把字符串"Hello!"赋给数组b的语句是A.char b[10]={'H','e','l','l','o','!'};B.char b[5] ="Hello!";C.char b[10]; strcpy(b,"Hello!");D.char b[10]="Hello!";20、C语言中,合法的字符串型常数是A.‘A’B."A"C.‘abcd’D.abcd二、判断题全部选择正确。

c语言网络教室所有题加答案

c语言网络教室所有题加答案

1.Hello world.让我们用C语言向世界问好。

最早的程序基本是这个样子的:程序一:#include <stdio.h>void main(){printf("Hello world.\n"); }程序二:#include <stdio.h>int main(){printf("Hello world.\n"); return0;}#include<stdio.h>void main(){printf("Hello world.\n");}2.Welcome to Beijing.让我们来练习如何显示多行文字。

#include<stdio.h>void main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");}3.求A+B输入两个整数,求它们的和.#include<stdio.h>void main(){int a,b;int sum;scanf("%d\n%d",&a,&b);sum=a+b;printf("%d+%d=%d\n",a,b,sum);}4.求x 的3次方输入:一个整数。

输出:该整数的3 次方值。

#include<stdio.h>void main(){int x;int s;scanf("%d\n",&x);s=x*x*x;printf("%d\n",s);}5.学习打印你的第一个图形背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。

程序如下:#include <stdio.h>void main(){printf("****\n");printf("****\n");printf("****\n");printf("****\n");}要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。

北大网络教育(计算机专业)C程序设计作业答案

北大网络教育(计算机专业)C程序设计作业答案

北大网络教育(计算机专业)C程序设计作业答案第一章作业一、将数150、10.75、50.375用十六进制表示150=96;10.75=A;50.375=32150(十进制)=96(十六进制)10.75(十进制)=A.C(十六进制)50.375(十进制)=32.6(十六进制)二、填空1.在C语言中,数值常量0x2a的十进制值是 42 。

2.字母m的ASCII码为十进制数______109_____。

第三章作业一、选择题:1、下列变量名中, B 是非法的。

A) Tom B) 3n C) little_boy D) c102、下列变量名中, A 是合法的。

A) _boo B) 70A C) 30b D) while3、下列常量中, C 是十六进制表示的int型常量。

A) 17 B) x52 C) 0xa3 D) 0864、假设所有变量均为整型,则表达式(a=1,b=3,b++,a+b)的值是 A 。

A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’C’+’8’-‘A’后,c2的值为 D 。

A) 12 B) 11 C)不确定的值 D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标识符的字符有( B )A下划线B %C数字D字母8、设int a;则表达式a=2,4,a+2的值是( D )A.1B.2C.3D.49.设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为( C )A. 20B.22C. 24D. 44第四章作业一、选择题1、在scanf()函数的格式说明符中,长整型数的输入格式符是 B 。

北师大网网络教育c++程序设计二(答案)

北师大网网络教育c++程序设计二(答案)

《C++程序设计》第二套作业及其答案说明:本套作业涵盖第4章——第6章所学的内容。

本套作业共有33道单选题,33个答案,满分为100分,错一道题扣除3分。

1、在类的定义形式中,数据成员、成员函数和(A)组成了类定义体。

(A)成员的访问控制属性(B)公有类型(C)私有类型(D)保护类型2、在下列关键字中,用以说明类中公有成员的是(A)。

(A)public (B)private(C)protected (D)friend3、(D)不是构造函数的特征。

(A)构造函数的函数名与类名相同(B)构造函数可以重载(C)构造函数可以设置默认参数(D)构造函数必须指定类型说明4、(A)是析构函数的特征。

(A)一个类中只能定义一个析构函数(B)析构函数名与类名不同(C)析构函数的定义只能在类体内(D)析构函数可以有一个或多个参数5、关于成员函数特征的下述描述中,(A)是错误的。

(A)成员函数一定是内联函数(B)成员函数可以重载(C)成员函数可以设置参数的默认值(D)成员函数可以是静态的6、下列存储类标识符中,(C)的可见性与存在性不一致。

(A)外部类(B)自动类(C)内部静态类(D)寄存器类7、要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A)。

(A)内联函数(B)重载函数(C)递归调用(D)嵌套调用8、以下程序的输出结果是(A)。

#include<iostream>using namespace std;int func(int a, int b);int main() {i nt k = 4, m = 1, p;p = func(k, m);c out << p << ",";p = func(k, m);c out << p << endl;r eturn 0;}int func(int a, int b) {s tatic int m, i = 2;i += m + 1;m = i + a + b;r eturn m;}(A)8,17 (B)8,16 (C)8,20 (D)8,89、下面选项中,不是类的成员函数为(C)。

c语言题库及答案详解

c语言题库及答案详解

c语言题库及答案详解C语言题库及答案详解C语言,作为一种广泛使用的编程语言,以其高效、灵活和跨平台的特性,在软件开发、系统编程等领域占据着重要地位。

为了帮助学习者更好地掌握C语言,本文将提供一些常见的C语言题目及其详细解答。

1. 基础语法题- 题目:请编写一个C程序,输出"Hello, World!"。

- 答案:以下是一个简单的C程序示例,用于输出"Hello,World!"。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。

- 答案:在C语言中,可以使用`int`关键字来声明整型变量。

以下是实现题目要求的代码。

```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。

- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。

```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。

c语言远程教育测试题及答案

c语言远程教育测试题及答案

c语言远程教育测试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. varB. defineC. letD. int答案:D2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. <=D. ==答案:B3. C语言中,用于定义函数的关键字是:A. funcB. functionC. defD. void答案:B4. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = 'Hello';D. char str = 'Hello';答案:A5. C语言中,用于声明一个函数的关键字是:A. declareB. defineC. defD. function答案:B6. 下列哪个选项不是C语言中的控制结构?A. ifB. switchC. forD. repeat答案:D7. C语言中,用于跳过当前循环的剩余部分,直接开始下一次循环的关键字是:A. continueB. breakC. exitD. return答案:A8. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. typedefD. enum答案:A9. 在C语言中,以下哪个选项不是合法的数组定义?A. int arr[10];B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2, 3};D. int arr[10] = {1, 2, 3};答案:C10. C语言中,用于声明一个指针的关键字是:A. pointerB. ptrC. refD. *答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个基本的数据类型是________。

c语言作业答案

c语言作业答案

c语言作业答案No.: Name:第1讲C语言概述注:本系列习题中符号表示一串字符中的空格,符号表示下划线,符号ê表示换行回车,即键盘上Enter键。

一、选择题1. 一个C程序的执行是从A 。

A) 本程序main函数开始,到main函数结束B) 本程序文件第一个函数开始,到最后一个函数结束C) 本程序文件第一个函数开始,到本main函数结束D) 本程序main函数开始,到本程序文件最后一个函数结束2. 以下叙述不正确的是D 。

A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3. 以下叙述正确的是C 。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) 语言本身没有输入输出语句D) C程序的每行中只能写一条语句4. 一个C语言程序是由B 。

A) 一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成5. 以下叙述中正确的是C 。

A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点6. 下列叙述中正确的是D 。

A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言的函数可以嵌套调用7. 以下叙述中正确的是A 。

A) 构成C程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main函数必须放在其他函数之前D) 所有被调用的函数一定要在调用之前进行定义8. C语言规定,在源程序中,main函数的位置C 。

A) 必须在最开始B) 必须在系统调用的库函数的后面C) 可以任意D) 必须在最后9. 下列选项中不是结构化程序基本结构的是B 。

北京师范大学网络教育c语言作业

北京师范大学网络教育c语言作业

《C语言程序设计》作业本课程作业由两部分组成。

第一部分为“客观题部分”,由15个选择题组成,每题1分,共15分。

第二部分为“主观题部分”,由简答题和论述题组成,共15分。

作业总分30分,将作为平时成绩记入课程总成绩。

客观题部分:一、选择题(每题1分,共15题)1、以下程序运行后,输出结果是( )main(){char *s="abcde";s+=2;printf("%ld\n",s);}A.cde B.字符c的ASCII码值C.字符c的地址D.出错2、下面的程序将输出:( )main(){char ch;ch=’1’;ch+=1;switch(ch){case ‘1’: printf("this is one. ");case ‘2’: printf("this is two. ");default: printf("no way! ");}}A.this is one.B.this is two.C.no way!D.this is two.no way!3、以下所列的C语言常量中,错误的是()A.0xFF B. 1.2e0.5 C. 2L D. '\72'4、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不正确的语句是()A.k=*P1+*P2; B.P2=k; C.P1=P2; D.k=*P1 * (*P2);5、设有如下定义int arr[]={6,7,8,9,10};int * ptr;则下列程序段的输出结果为:( )ptr=arr;* (ptr+2)+=2;printf ("%d,%d\n",*ptr,*(ptr+2));A.8,10 B.6,8 C.7,9 D.6,106、在下以下程序的输出结果是:( )#define f(x) x*xmain(){int a=6,b=7,c;c=f(a)/f(b);printf(“%d\n”,c);}A.9 B.35 C.36 D.187、设有以下说明和定义typedef union{ long i; int k[15]; char c; }DATE;struct date{ int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是:( )printf ("%d",sizeof (struct date ) +sizeof(max));A .30B .35C .70D .758、若已知int a[3][4],*p;p=(int *)a;那么对数组a 的第2行第2列的正确引用是:( )A.a[2][2]B.p[9]C.a[9]D.p[1][1]9、下列程序段所表示的逻辑关系是:( )if(a<b) { if(c==d) x=1;} else x=2;A. x =⎩⎨⎧21 d c b a d c b a ≠≥=<且且 B. x =⎩⎨⎧21ba d cb a ≥=<且 C. x =⎩⎨⎧21 d c b a d c b a ≠<=<且且 D. x =⎩⎨⎧21dc d c b a ≠=<且 10、若有说明int a[2][2];那么,下面正确的C 赋值语句是:( )A.a=2;B.a[1]=2;C.a[1]={1,2};D.a[0][1]=a[1][0];11、给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为A 、数组X 和数组Y 等价B 、数组x 和数组Y 的长度相同C 、数组X 的长度大于数组Y 的长度D 、数组X 的长度小于数组Y 的长度12、有以下程序main(){ char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i));}输出结果是:A、gmB、rgC、orD、ga13、下面函数调用语句含有实参的个数为:func((exp1,exp2),(exp3,exp4,exp5));A、1B、2C、3D、414、当执行下面的程序时,如果输入ABC,则输出结果是#include "stdio.h"#include "string.h"main(){char ss[10]="1,2,3,4,5";gets(ss);strcat(ss, "6789");printf("%s\n",ss);}A、ABC6789B、ABC67C、12345ABC6D、ABC45678915、若二维数组a 有m列,则在a[i][j]之前的元素个数为( )A、j*m+iB、i*m+jC、 i*m+j-1D、i*m+j+1主观题部分:一、简答题(每题2.5分,共2题)1、阅读程序写结果#include <stdio.h>int f(int n){static int s=1;while(n) s*=n--;return s;}main(){int i,j;i=f(3); j=f(5)+f(2);printf("\nThe outputis:\n");printf("i=%#x,j=%d \n",i,j); }2、阅读程序写结果#include <stdio.h>typedef struct stu{ char name[10];int age;}STU;char *fun(STU *p,int m){ int k,i;STU *q;k=200;for(i=0;i<m;i++)if((p+i)->age<k){k=p->age;q=p+i;}return q->name;}main(){ struct stu students[3]={"Zhang",20,"Wang",19,"Zhao",18};printf("%s\n",fun(students,3));}二、论述题(每题5分,共2题)1、编这样一个程序,用户输入10个整数,程序找出其中的最大值和最小值,并输出最大值与最小值的和、差、积、商。

北京语言大学网络教育学院《C++》结课作业附答案

北京语言大学网络教育学院《C++》结课作业附答案

北京语言大学网络教育学院《C++》结课作业附答案201706考试批次《C++》结课作业学生姓名 :XXXX 学习中心: 北京学习中心学号:XXXXXX 考号:XXXXX专业 : 计算机科学与技术年级层次:XXXX北京语言大学网络教育学院《C++》结课作业注意:本学期所布置的结课作业,请同学一律按照以下要求执行:一、学生必须预约才能在学生平台看见相关课程的“结课作业”按钮; 二、提交路径:个人平台首页--学习中的课程,点击该课程名称--点击“结课作业”--点击“浏览”按钮,选择要上传的文档后点击“提交作业”即可。

三、结课作业提交起止时间:2017年5月2日--6月19日。

(届时平台自动关闭,逾期不予接收。

)四、提交的文档格式必须为word文档,截止日期前可多次提交,平台只保留最后一次提交的文档;五、严格按照课程名称提交相应课程结课作业,提交错误的结课作业,按0分处理。

一. 论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分) 1. C++中的继承使编程者可以用已有的数据类型创建新的数据类型,并保留已有数据类型的特点。

请简述继承方式的三种类型,及三种继承类型的类成员的特点。

2.请简述C++中引用和指针的区别。

答:(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用指针. 由于C++ 要求 reference 总是指向一个对象所以reference要求有初值. String & rs = string1; 由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需要测试其的有效性.(2)指针可以被重新赋值而reference则总是指向最初或地的对象.(3)必须使用reference的场合. Operator[] 操作符由于该操作符很特别地必须返回 [能够被当做assignment 赋值对象] 的东西,所以需要给他返回一个 reference.(4)其实引用在函数的参数中使用很经常.void Get***(const int& a) //这样使用了引用有可以保证不修改被引用的值{ }引用和指针相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.
鼓励独立完成作业,严惩抄袭!
设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是( )(教材第三章、课件第02节)
A. A. 0
B. B. 3
C. C. -12
D. D. 9
正确答案:C
2.若函数的形参为一维数组,则下列说法正确的是()。

(教材第八章、课件第13-16节)
A. A. 调用函数时的对应实参必为数组名,
B. B. 形参数组可以不指定大小,
C. C. 形参数组的元素个数必须等于实参数组的元素个数,
D. D. 形参数组的元素个数必须多于实参数组的元素个数
正确答案:B
3.设x,y,z,t均为int型变量,则执行语句
x=y=z=1;t=++x||++y&&++z;
后,t的值为()(教材第三章、课件第02节)
A. A. 不定值
B. B. 2
C. C. 1
D. D. 0
正确答案:C
4.如果定义语句:int a[3][6];,按内存中存放顺序,数组a的第10个元素是()(教材第七章, 课件第08-12节)
A. A. a[0][4];
B. B. a[1][4];
C. C. a[0][3];
D. D. a[1][3];
正确答案:D
5.若有定义int c[ 9 ], *p = c; 则p + 5 表示( )(教材第十章、课件第20-23节)
A. A. 数组元素c[5]的地址
B. B. 数组元素c[5]的值
C. C. 数组元素c[6]的地址
D. D. 数组元素c[6]的值
正确答案:A
6.下列四组选项中,均不是C语言关键字的是()(教材第三章、课件第02节)
A. A. while go pow
B. B. gets char printf
C. C. include scanf case
D. D. define IF type
正确答案:D
7.
下列说法或语句正确的是()(教材第一章,课件第01节)
A. A. C语言是一种面向过程的语言;
B. B. C语言中不区分大小写英文字母;
C. C. C语言程序中,任何英语单词均可以作标识符;
D. D. 在C语言的源程序中,注释使用越多,编译之后的可执行程序的执行效率越低。

正确答案:A
8.下面叙述不正确的是()(教材第八章、课件第13-16节)
A. A. 在函数定义中,形参变量有时也可以是全局变量;
B. B. 在C程序中,函数调用可以作为函数的实参;
C. C. 函数返回值的数据类型取决于函数定义时为函数指定的数据类型;
D. D. 在函数定义中,形参变量是局部变量。

正确答案:A
9.下面哪一个是正确的字符常量()(教材第三章、课件第02节)
A. A. ‘\084’
B. B. ‘\84’
C. C. ‘ab’
D. D. ’\x43’
正确答案:D
10.当执行以下程序段时(教材第三章)
x=-1;
do{x=x*x;}
while(!x);
A. A. 循环体将执行0次
B. B. 循环体将执行1次
C. C. 循环体将执行2次
D. D. 循环体将执行无数次
正确答案:B
11.以下程序的运行结果是(教材第二、三章)
#include <stdio.h>
main(){
int a=1;
if(a++>1) printf(“%d\n”,a);
else printf(“%d\n”,a--);
}
A. A. 0
B. B. 1
C. C. 2
D. D. 3
正确答案:C
12.以下对二维数组a的正确说明是(教材第四章)
A. A. int a[3][];
B. B. float a(3,4);
C. C. double a[1][4];
D. D. float a(3)(4);
正确答案:C
13.一个C程序的组成部分可以是()。

(教材第五章)
A. A. 一个主函数和一至若干个其他函数
B. B. 一至若干个主函数
C. C. 一个主程序和一至若干个其他函数
D. D. 一个主程序和一至若干个子程序
正确答案:A
14.结构化程序的三种基本结构是()。

(教材第三章)
A. A. 顺序结构、选择结构、循环结构
B. B. 递归结构、循环结构、转移结构
C. C. 嵌套结构、递归结构、顺序结构
D. D. 循环结构、转移结构、顺序结构
正确答案:A
15.
操作题共有四道小题,请将四个小题的源代码存为.c文件,按照"题号.c"命名,将四个文件打包压缩成“操作题.zip”上交
1. 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,写程序求出这个数。

(教材第四至六章,课件第03-07节)
2. 用指针方法编写程序,输入3个整数,将它们按由小到大顺序排列输出.(教材第四至六章,课件第03-07节)
3. 计算出所有的“水仙花数”。

所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身,例如,152是水仙花数,因为153=1×1×1+5×5×5+3×3×3。

(教材第四至六章,课件第03-07节)
4. 输入一个字符串,以回车结束(字符串长度<=100)。

该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。

现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

[输入]
输入包括3行,
第1行是包含多个单词的字符串s,
第2行是待替换的单词a,(长度<=100)
第3行是a将被替换的单词b。

(长度<=100)
s, a, b 最前面和最后面都没有空格.
[输出]
输出只有1 行,
将s中所有单词a替换成b之后的字符串。

样例输入
You want someone to help you
You
I
样例输出
I want someone to help you
16.
请完成以下数制转换:(教材第三章,课件第02节)
将十进制数133用二进制表示:
将二进制数100010111用十进制表示:
正确答案:
10000101、279
17.判断下列标识符中哪些不合法:(教材第三章,课件第02节)
sum Sum M.D.John day 3days student_name #33 lotus_1_2 char d<c _above $2008
正确答案:
不合法的有:M.D.John 3days #33 char d
18.
写出程序运行结果。

Main( )
{int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(%d,%d, %d, %d,i,j,m,n); }
9 11 9 10
正确答案:
9,11,9,10。

相关文档
最新文档