北京大学网络教育学院 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语言中,用于定义一个全局变量的关键字是________。

  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。

相关文档
最新文档