北京理工大学网络教室C语言编程题库及答案(绝对经典)

合集下载

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】 33

北理工《C语言程序设计》期末考试精选题汇总【含答案解析】 33

2015下半年C语言期末复习资料一、课程内容的重点、难点第一章:程序设计基础知识重点:算法和算法的表示、结构化程序的三种基本结构。

难点:算法的表示。

第二章:C语言概述重点:C程序的基本结构、C语言的基本组成、用C语言解题的全过程。

第三章:数据类型与运算规则重点:C语言的基本数据类型及其表示、算术运算与赋值运算、关系运算与逻辑运算、位运算和其它运算,混合运算及数据类型转换。

第四章:顺序结构的程序设计重点:C语言中的各种语句、C语言中数据的输入与输出。

难点:输入、输出函数的使用。

第五章:选择结构的程序设计重点:if语句构成的选择结构程序和switch语句构成的选择结构程序。

难点:嵌套的if语句和嵌套的switch语句。

第六章:循环结构的成程序设计重点:while、do-while和for构成的循环结构程序设计,循环的嵌套。

难点:for语句的使用,循环的嵌套。

第七章:数组重点:一维数值数组的定义与使用,一维字符数组的定义与使用及常用字符处理函数的使用,二维数组的定义和使用。

难点:用数组求解实际问题的编程。

第八章:函数重点:函数的定义、函数的调用(嵌套调用和递规调用)与返回、函数间的数据传递、变量的存储类别。

难点:递规函数的定义与调用。

第九章:指针重点:指针的定义与引用、数组与指针、指针与函数、用指针处理字符串数据、指针数组和多级指针。

难点:二维数组的指针与使用,多级指针。

第十章:结构、联合与枚举类型重点:结构类型的定义、结构变量和结构数组的定义、函数间传递结构数据,联合类型的定义和应用,枚举类型的定义,用typedef定义类型。

难点:结构类型的应用,链表的操作和应用。

第十一章:文件重点:文件的打开和关闭,文件的顺序读写操作,文件的随机读写操作,文件操作的状态和出错检查。

难点:文件的读写操作二、期末考试题型介绍1、选择填空题:从四个备选答案中选择一个正确的答案。

每小题1分。

2、填空题:根据题目的要求在题目的空白处填上适当的内容。

北京理工大学C语言网络教室 难题

北京理工大学C语言网络教室 难题

16.对于下述定义,不正确的叙述是(B ).
union data
{int i;
char c;
float f;
}a,b;
A、变量a的地址和它的各成员地址都是相同的
B、可以在定义类型的同时定义变量a,并对a的任意成员初始化
C、变量a所占内存的长度等于成员f的长度
D、如果有定义语句union data a={6};则对变量a的初始化是正确的
26. 若定义了int x;则将x强制转化成双精度类型应该写成
选择一项:
A. double(x)
B. (double) x
C. x (double)
D. (x) double
反馈
正确答案是:(double) x
. 下列常数中不能作为C 的常量的是
选择一项:
A. 0582
B. 0xA5
C. 2.5e-2
D. 3e2
反馈
正确答案是:0582
if 控制表达式只有其值为_____时表示逻辑真,其值为_____表示逻辑假。

选择一项:
A. -1, 0
B. TRUE, FALSE
C. 1, 0
D. 非0, 0
正确答案是:非0, 0。

北理工《C语言程序设计》在线作业_2

北理工《C语言程序设计》在线作业_2

北理工《C语言程序设计》在线作业试卷总分:100 测试时间:-- 试卷得分:100一、单选题(共40 道试题,共80 分。

)得分:801. 下列程序执行的结果是()。

A=1;b=2;c=3;While(b<a<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);A. 1,2,0B. 2,1,0C. 1,2,1D. 2,1,1正确答案:B 满分:2 分得分:22. 已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为()。

A. 0B. 1C. 4D. 5正确答案:B 满分:2 分得分:23. 若有char a[80],b[80];则正确的是()。

A. puts(a,b);B. printf(“%s,%s”a[ ],b[ ]);C. putchar(a,b);D. puts(a);puts(b);正确答案:D 满分:2 分得分:24. 在以下对C语言的描述中,正确的是()。

A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B. C语言函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D. C语言程序中有定义关系的所有函数都必须放在同一源文件中正确答案:A 满分:2 分得分:25. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是()。

A. 地址传递B. 值传递C. 由实参传给形参,并由形参传回给实参D. 由用户指定传递方式正确答案:B 满分:2 分得分:26. 执行以下程序段后,c3的值是()。

int c1=1,c2=2,c3; c3=c1/c2;A. 0B. 1/2C. 0.5D. 1正确答案:D 满分:2 分得分:27. C语言结构类型变量在程序执行期间()。

A. 所有成员一直驻留在内存中B. 只有一个成员驻留在内存中C. 部分成员驻留在内存中。

北工大C语言练习题答案.doc

北工大C语言练习题答案.doc

1求两个数的和与差输入整数a和b,计算并输出a、b的和与差。

(例:输入2 -8;输出The sum is -6 The difference is 10)#include <stdio.h>int main(){int a,b,sum,diff;scanf(H%d%d n,&a,&b);sum=a+b;diff=a-b;printf(n The sum is %d\n H,sum);printf(n The difference is %d\n*\diff);} 2 求平方根输入1个实数x,计算并输出其平方根 (保留1位小数)。

(例:输入17;输出The square root of 17.0 is 4.1)#include <stdio.h>#include <math.h>int main()(double x,root;scanf(n%lf n,&x);root=sqrt(x);printf(n The square root of %0.1f is % 0. lf\n n ,x,root);}3华氏温度转换为摄氏温度输入华氏温度f,计算并输出相应的摄氏温度c(保留2位小数)。

c = 5/9(f-32).(例:括号内是说明输入17.2 (华氏温度)输出The temprature is -8.22)#include <stdio.h>int main()(double f,c;scanf(H%lf n,&f);c=5.0/9.0*(f-32.0);printf(n The temprature is %0.2f\n n,c);} 4计算旅途时间输入2个整数timel和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。

有效的时间范围是0000到2359, 不需要考虑出发时间晚于到达时间的情况。

例:括号内是说明输入712 1411 (出发时间是7:12,到达时间是14:11)输出The train journey time is 6 hrs 59 mins.#include <stdio.h>int main()(int timel,time2,hours,mins;scanf(n%d%d H,&timel,&time2);timel=timel/100*60+timel % 100;time2= time2/100*60+time2% 100;hours=(time2-timel)/60;mins=(time2-timel) % 60;printf(n The train journey time is %d hrs %d mins An'hours,mins);}5大写字母转换成小写字母输入一个大写英文字母,输出相应的小写字母。

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案
A1,2,0
B2,1,0
C1,2,1
D2,1,1
18、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。
A地址传递
B值传递
C由实参传给形参,并由形参传回给实参
D由用户指定传递方式
19、在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。
A、6385
B69825
C63825
D693825
6、已知:struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。
A4
B5
C6
D7
7
2分
已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。
A1
B0
C4
C数据结构系统化
D控制流程结构化
4、C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。
A编辑和编译
B编译和连接
C连接和运行
D编辑和运行
5、以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}
Dscanf("%d%d%d",&a,&b,&c);

北理C语言作业及答案2

北理C语言作业及答案2

34 北理工的恶龙成绩: 10 / 折扣: 0.8背景:最近,北理工出现了一只恶龙,它长着很多头,而且还会吐火,它将会把北理工烧成废墟,于是,校长下令召集全校所有勇士杀死这只恶龙。

要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。

而且勇士们要求,砍下一个龙头必须得到和自己身高厘米数一样的学分。

校长想花最少的学分数杀死恶龙,于是找到你寻求帮助。

输入:第一行龙头数n , 勇士人数m (1<=n, m<=100 )接下来n 行,每行包含一个整数,表示龙头的直径接下来m 行,每行包含一个整数,表示勇士的身高l输出:如果勇士们能完成任务,输出校长需要花的最小费用;否则输出“ bit is doomed! ”测试输入期待的输出时间限制内存限制额外进程测试用例1 以文本方式显示1. 2 3↵2.5↵3.4↵4.7↵5.8↵6.4↵以文本方式显示1.11↵1秒64M 0测试用例2 以文本方式显示1. 2 1↵2.5↵3.5↵4.10↵以文本方式显示1.bit is doomed!↵1秒64M 0#include<stdio.h>void main(){int s=0,t,i,j,m,n,a[100],b[100],c[100]; for(i=0;i<=99;i++)a[i]=0,b[i]=0,c[i]=0;scanf("%d%d",&m,&n);for(i=0;i<=m-1;i++)scanf("%d",&a[i]);for(i=0;i<=n-1;i++)scanf("%d",&b[i]);if(m>n)printf("bit is doomed!\n");else{for(i=0;i<=m-1;i++)for(j=i;j<=m-1;j++){if(a[i]>a[j]){t=a[i],a[i]=a[j],a[j]=t;}}for(i=0;i<=n-1;i++)for(j=i;j<=n-1;j++){if(b[i]>b[j]){t=b[i],b[i]=b[j],b[j]=t;}}t=0;for(i=0;i<=m-1;i++)for(j=0;j<=n-1;j++)if(a[i]<=b[j]){c[t]=b[j];t++;b[j]=0;break;}if(t<m)printf("bit is doomed!\n");else{for(i=0;i<=t;i++)s=s+c[i];printf("%d\n",s);}}}35 杀鸡用牛刀——要用递归啊!成绩: 5 / 折扣: 0.8背景:哈哈!我们终于学了递归了,现在大家一定感到非常有意思吧,那个典型的“汉诺塔”问题,一个非常短的程序居然可以完成如此复杂的工作,真是神奇啊!来吧,让我们也动手编写一个递归程序,当然,我们要编写的不可能太复杂。

北理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语言程序设计》在线作业试卷总分:100 得分:100一、单选题(共40 道试题,共80 分)1.下面程序的输出结果是()。

main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf(“%f ”,s);}A.135.000000B.90.000000C.45.000000D.60.000000答案:C2.在以下对C语言的描述中,正确的是()。

A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B.C语言函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C语言程序中有定义关系的所有函数都必须放在同一源文件中答案:A3.以下()不是C语言的特点。

A.语言的表达能力B.语言定义严格C.数据结构系统化D.控制流程结构化答案:B4.已知:char s[10],*p=s,则在下列语句中,错误的语句是()。

A.p=s+5;B.s=p+s;C.s[2]=p[4];D.*p=s[0];答案:B5.以下正确的数组定义语句是()。

A.int y[1][4]={1,2,3,4,5};B.float x[3][ ]={{1},{2},{3}};C.long s[2][3]={{1},{1,2},{1,2,3}};D.double t[ ][3]={0};答案:D6.已知:int a,*p=&a; 则下列函数调用中错误的是()A.scanf("%d",&a);B.scanf("%d",p);C.printf("%d",a);D.printf("%d",p);。

北京理工大学《C语言程序设计》期末试题

北京理工大学《C语言程序设计》期末试题

参数说明:array[]为整型数组,n 为项数( n > 0);返回值是数组元素的最大值。 例如输入:5↵ 1 5 6 4 2↵ , 输出:6↵ 注意:仅提交自编的 max 函数,不提交 main 函数。
预设代码
a3_3.c
view plaincopy to clipboardprint?

64M
0
三、编程题_2 (10 分)
输入行数 n 值和数字,输出由数字从左往右、从上往下依次递增围起的正方形。 数字输出是循环的,即输出数字9后再输出的是数字0。 例:输入:4 8↙ 屏幕输出(表示为一个空格 ) : 890 1↙ 90↙ 01 123 4 测试输入 期待的输出
64M
0
隐藏用例 4 1 Wearestudents↵ 2 13↵
Wearestudent 1秒 sBIT↵
4
64M
0
随米云打印
网址:sui.me
3 BIT↵
以文本方式显示
1 Wearestudents↵ 隐藏用例 5 2 0↵ 3 BIT↵
以文本方式显示
BITWearestud 1秒 ents↵
2
随米云打印
网址:sui.me
【2】处应填入的是:______。 A) f(n-1)-n B)f(n-1)+n 答案:A 【3】应填入的是:______。 A) f(n-1)-n B)f(n-1)+n 答案:B
C) f(n-1)+1
D)-n;
C) Hale Waihona Puke (n-1)+1D)n;
2、要对全班 100 个同学的成绩,按照从高到低的顺序进行排序,以下程序是排序函数, 其功能是将成绩数组 score 从大到小排序。请完善函数中的语句。 void sort(int scores[],int n ) { int i,j,temp; for(i=【4】;i<=n-1;i++) for(j=0;j<【5】;j++) if(【6】) { temp=scores[j]; scores[j]=scores[j+1] ; scores[j+1]=temp; } for(i=0;i<N;i++) printf("%d\n",scores[i]); } 为保证程序循环次数最少, 【4】处应填入:______。 A) 0 B)1 C) -1 D)N/2 答案:B 为保证程序循环次数最少, 【5】处应填入:______。 A) N B)N-1 C) N-i-1 D)N-i; 答案:D 【6】处应填入:______。 A) scores[j]<scores[j+1] B)scores[j]>scores[j+1] C) scores[j]<scores[j-1] D)scores[j]>scores[j-1] 答案:A 3、根据程序的初始值,打印选中学生的姓名与年龄,补充部分程序,并选择程序的运 行结果: #include <stdio.h> struct student{ int id; char name[12]; int age; }; void print(struct student *p) { printf("name=%s\n",(*p).name);/*【7】*/ printf("age=%d\n",【8】);/*打印输出年龄*/

c语言编程题入门题库及详解答案

c语言编程题入门题库及详解答案

c语言编程题入门题库及详解答案C语言编程题入门题库及详解答案1. 编写一个C程序,实现输入两个整数,输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C程序,实现输入一个字符,判断它是大写字母、小写字母还是其他字符。

```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("这是一个大写字母。

\n");} else if (ch >= 'a' && ch <= 'z') {printf("这是一个小写字母。

\n");} else {printf("这不是字母。

\n");}return 0;}```3. 编写一个C程序,实现输入三个整数,找出最大值并输出。

```c#include <stdio.h>int main() {int a, b, c, max;printf("请输入三个整数:");scanf("%d %d %d", &a, &b, &c);max = a;if (b > max) max = b;if (c > max) max = c;printf("最大值是:%d\n", max);return 0;}```4. 编写一个C程序,实现输入一个整数,判断它是否为素数。

2020年北理工线上作业试题答案,全科目

2020年北理工线上作业试题答案,全科目
1
1

若有以下定义和语句:
struct student
{int num,age;
};
struct student stu[3]={{1001,20},{1001,19},{1003,21}};
struct student *p=stu;
则以下错误的引用是( )。
单选题
10.0
4
1
×
下列对字符串的定义中错误的是( )。
1 2 3 4

大学生接触的社交场合有( )。
多选题
13.0
1 2 3 4
1 2 3 4

讲究公德不仅是每一名公民的天职,而且也是社会稳定而又有秩序地发展的重要保证。( )
判断题
9.0
正确
正确

在介绍自己时应该是材料越充分、越详尽越好。( )
判断题
9.0
错误
错误

在不同时代里,社会公德的具体内容往往是( )。
单选题
10.0
2
2

指出程序结束时,j、i、k的值分别是( )。
main()
{int a=10,b=5,c=5,d=5,i=0,j=0,k=0;
for(;a>b;++b)i++;
while(a> ++c)j++;
do k++;while(a>d++);
}
单选题
10.0
2
2

不能正确为字符数组输入数据的是( )。
单选题
10.0
3
3

C语言结构类型变量在程序执行期间( )。

(完整)北理工C语言编程网上作业答案

(完整)北理工C语言编程网上作业答案

H1:计算通用产品代码(UPC)的校验位(选作)成绩: 5 / 折扣: 0.8背景许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。

这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。

超市可以通过扫描产品上的条码来确定支付此项商品的费用。

每一个条码由十二位数字构成,通常这些数字会显示在条码下面。

例如,包装为26盎司的Morton 牌碘化盐所用条码下的数字是:0 24600 01003 0第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券).接下来的一组五位数字用来识别生产商。

而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。

最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。

如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码.下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。

然后把第二位、第四位、第六位、第八位和第十位数字相加.接着把第一次加法结果乘以3后再加上第二次加法的结果。

随后,再把上述结果减去1。

减法后的结果除以10取余数.最后,用9减去上一步骤中得到的余数。

现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。

把第一组加法值乘以3后再加上第二组加法值得到的结果是30。

再减去1,结果变为29。

再把这个值除以10取余数为9。

9在减去余数结果9,最终值为0。

输入每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。

输出UPC的校验位提示本题有隐藏测试用例。

如果想多找不同的实例验证你的算法,可以拿身边书或食品背后的条码测试一下。

1.#include〈stdio。

北京理工大学网络教室C语言编程题库及答案(绝对经典)

北京理工大学网络教室C语言编程题库及答案(绝对经典)

1.Hello world.输入:无输出:Hello world.程序:#include<>int main(){printf("Hello world.\n");return 0;}2.Welcome to Beijing.程序:#include <>int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}3. 求A+B输入:整数1 整数2输出:整数1+整数2=和程序:#include<>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4. 求x 的3次方输入:一个整数。

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

程序:#include<>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5. 学习打印你的第一个图形编写一个小程序,要求输出的是4 行由*号组成的等腰三角形。

程序:#include<>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6. 一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444 输出:分别输出按照整型数据进行+、-、*、/、* 之后的运行结果。

北京理工大学C语言教材习题答案

北京理工大学C语言教材习题答案

教材习题答案 习题单项选择题1. C2. B3. B4. C5. D6. A7. C8. A填空题1. 判断条件2. 面向过程编程3. 结构化4. 程序5. 面向对象的程序设计语言6. 基本功能操作、控制结构7. 有穷性8. 直到型循环结构9. 算法 10.可读性11.模块化 12.对问题的分解和模块的划分 习题一 、单项选择题1. B2. D3. C4. B5. A6. A7. B8.C 二、填空题1. 主2. C 编译系统3. 函数、函数4. 输入输出5.头6. .OBJ7. 库函数8. 文本 习题一、单项选择题1. D2. B3. A4. C5. C6. D7. D8. B9. B 10.C 11.A 12.D13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D, A 25.D 26.A 27.B 二、填空题1. 补码2. 30810-±(~)30810,15—6 2. 30810-±(~)30810,15—6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或b(题目有错,小括号后面的c<=98改成(c>=97&&c<=98)就可以得到所给的答案了)7. 1 8. 65,89 习题一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B7. A 8. C9. B10.B二、填空题 1. 一 ; 2. 5.1690003. (1)-200 2500 (2)i=-200,j=2500 (3)2500200=-=j i4. a=98,b=765.000000,c=4321.0000005.100 25.81 1.89234 ,100 25.81按Enter 键)1.89234,100(按Tab 键)25.81(按Tab 键)1.892346. 0,0,37. 38. scanf(" %lf %lf %lf",&a,&b,&c);9. 13 13.000000 13.00000010.b=a;a=c;c=b;或a=a+b;c=c-b;(对于本题来说,后者的答案更好,不仅使a 与c 的值进行交换而且能保持中间变量b 的值不发生改变)习题一、单项选择题 1. D2. C3. B4. B5. D6. A7. B 8. D二、填空题1. 非零,零2. k= =0 2. k= =03.if(abs(x)>4) Printf(“%d ”,x); elseprintf(“error!”);4. if(x%2==1&&( (x>=1)&&(x<=10)||(x>=200&&x<=210))printf("%d",x);5. k=1(原题最后一行漏了个d,如果认为原题正确,则输出k=%。

2019-北京理工大学-成教-《C语言程序设计》期末测试卷 (3)

2019-北京理工大学-成教-《C语言程序设计》期末测试卷 (3)

[试题分类]:C语言程序设计1.下列选项中,不属于C语言特点的是A. 能实现汇编语言的大部分功能B. 语言简洁、紧凑、使用方便C. 数据类型丰富,可移植性好D. 有较强的网络操作功能答案:D题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,正确的C语言标识符是A. \nB. %dC. _123D. #define答案:C题型:单选题知识点:第2章 C语言概述难度:13.在C语言中,错误的int类型常数是A. 0B. 038C. 0xAFD. 32765答案:B题型:单选题知识点:第3章数据类型与运算规则难度:14.若有定义“int x=5,y=5,z=5;”,执行语句“x%=y+z;”后,x的值是A. 6B. 5C. 1D. 0答案:B题型:单选题知识点:第3章数据类型与运算规则难度:25.若有定义“int x=3,y=4,z=5;”,则下列表达式中值不为1的是A. 'x'&&'y'B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1)答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.逗号表达式“(a=3*5,a*4),a+15”的值是A. 15B. 60C. 30D. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=1,j=2,k=3;”,则执行下列语句后的输出结果是if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);A. 1 2 3B. 2 3 4C. 2 2 3D. 2 3 3答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=0;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;default: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=6,y=4B. x=2,y=1C. x=3,y=2D. x=7,y=5答案:A题型:单选题知识点:第5章选择结构的程序设计难度:29.语句序列“int i,j; for (i=0, j=1; i<=j+1; i+=2,j--) printf ("%d\n",i);”执行后i的值是A. 3B. 2C. 1D. 0答案:B题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",--n);”后的输出结果是A. 20B. 31C. 210D. 321答案:A题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x-=2);\} while(!(--x));}A. 1B. 3 0C. 1 -2D. 死循环答案:C题型:单选题知识点:第6章循环结构的程序设计难度:212.下列关于数组定义、初始化或赋值语句中,正确的是A. int x[5]={1,2,3,4,5,6};B. int n=8; int score[n];C. int a[8]; a[8]=100;D. int x[]={1,2,3,4,5,6};答案:D题型:单选题知识点:第7章数组难度:113.{若有定义“int a[3][3]=\{0,1,2,0,1,2,0,1,2\}, i,j,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<3;i++)for(j=i;j<=i;j++)s=s+a[i][a[j][j]];}A. 9B. 4C. 3D. 1答案:C题型:单选题难度:214.C语言程序中,调用函数时A. 实参和形参共用一个存储空间B. 实参和形参各自占用一个独立的存储空间C. 由用户指定实参和形参是否共用存储空间D. 由系统指定实参和形参是否共用存储空间答案:B题型:单选题知识点:第8章函数难度:115.下述函数首部定义形式正确的是A. int f(int x,y)B. int f(int x; int y)C. int f(x,y: int)D. int f(int x, int y)答案:D题型:单选题知识点:第8章函数难度:116.若p1和p2为指向同一字符串的指针变量,c为字符变量,则下列语句中,不能正确执行的是A. p2=cB. c=*p2C. p1=p2D. c=*p1+*p2;答案:A题型:单选题难度:217.{下列函数的功能是fun(char *p2, char *p1) \{while((*p2=*p1)!='\0') \{p1++; p2++;\}\}}A. 将p1所指字符串的地址赋值给指针p2B. 检查p1和p2所指字符串中是否有'\0'C. 对p1和p2两个指针所指字符串进行比较D. 将p1所指字符串复制到p2所指内存空间答案:D题型:单选题知识点:第9章指针难度:218.下列程序段中,枚举变量c1和c2的值分别是enum color {red, yellow, blue=4, green, white}; enum color c1=yellow, c2=white;A. 2,6B. 1,6C. 2,5D. 2,4答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} data , *p=&data;则下列选项中,引用data中成员num正确的是}A. (*p).data.numB. p->data.aC. p.data.aD. (*p).a答案:D题型:单选题知识点:第10章结构、联合与枚举类型难度:220.C语言中,对文件进行存取的基本单位是A. 记录B. 字节C. 元素D. 簇答案:B题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为奇数的关系表达式为__________。

北理c语言上机答案(全)

北理c语言上机答案(全)

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

最早的程序基本是这个样子的:程序一:#include <>void main(){printf("Hello world.\n"); }程序二:#include <>int main(){printf("Hello world.\n");return 0;}上面的程序你任意模仿一个,看看是否可以通过如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。

输入:无输出:Hello world.程序实例1:#include<>void main(){printf("Hello world.\n");}结果:Hello world.程序实例2:#include <>int main(){printf("Hello world.\n");return 0;}结果:Hello world.1. Welcome to Beijing.让我们来练习如何显示多行文字。

输入:无输出:就是下面的那段文字。

程序实例1:#include""int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}结果:WelcometoBeijing.程序实例2:#include<>void main(){printf("Welcome\nto\nBeijing.\n");}结果:WelcometoBeijing.1练习最简单的printf和scanfprintf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。

输入:整型变量x的值。

北理工C语言答案

北理工C语言答案

北理工C语言答案1-3.磨磨你的砍柴刀:判断三角形的形状成绩: 10 / 折扣: 0.8输入三角型的三条边,判断三角形的形状。

假设输入的三边边长均 >0 。

输入:三角型的 3 条边的长度( int 型)。

输出:三角形形状等边三角形: equilateral triangle. 等腰三角形: isoceles triangle. 不构成三角形: non-triangle. 一般三角形: triangle.友情提示:这个题有点复杂吧,因为用到了分支语句,你参考一下教材P98的程序。

要把a、b、c三条边长度的可能情况都想到。

如果程序运行出现了问题,你尝试用开发工具的单步执行调试工具,检查问题出在哪一句。

什么叫单步执行?老师在课上告诉你们了吗?没讲过?那就读读网络教室的那些文章吧!测试输入期待的输出时间限制内存限制额外进程64M 测试用例 1以文本方式显示 1. 2 2 2?以文本方式显示 1. equilateral triangle.? 1秒64M 测试用例 2以文本方式显示 1. 3 2 2?以文本方式显示 1. isoceles triangle.? 1秒#include main() {int a,b,c;scanf(\ if(a+b>c&&a+c>b&&b+c>a) if(a==b&&a==c)printf(\ else if(a==b||b==c||a==c) printf(\ elseprintf(\ elseprintf(\ getch(); }2-1. 整型数的表示范围编写一个循环程序,输入 N 值,输出 N 的阶乘。

关于循环程序怎么编写,可以参考教材第六章P123的内容。

注意整型数的表示范围,如果当输入的 N 比较大时,例如 N 等于 20 时,输出怎么是负数了?自己想明白吧!1. #include2. main()3. {4. int i,n;测试输入期待的输出时间限制内存限制额外进程测试用例 1 64M 以文本方式显示 1. 5?以文本方式显示 1. 120? 1秒测试用例 4 64M 以文本方式显示 1. 12?以文本方式显示1. 479001600? 1秒测试用例 2 64M 以文本方式显示 1. 20?以文本方式显示1. N is too big!? 1秒5. long m;6. scanf(\7. i=1;8. m=1;9. do{m=m*i; 10. i=i+1;11. }while(i<=n); 12. if(m>=0)13. printf(\14. else15. printf(\16. }2-2. 求正弦函数值成绩: 10 / 折扣: 0.8已知求正弦 sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε。

北京理工大学网络教室C语言编程题库及答案绝对

北京理工大学网络教室C语言编程题库及答案绝对

1.Hello world.输入:无输出:Hello world.程序:#include<>int main(){printf("Hello world.\n");return 0;}2.Welcome to Beijing.程序:#include <>int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}3. 求A+B输入:整数1 整数2输出:整数1+整数2=和程序:#include<>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4. 求 x 的 3次方输入:一个整数。

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

程序:#include<>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5. 学习打印你的第一个图形编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。

程序:#include<>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6. 一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444 输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。

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

北京理工大学网络教室C语言编程题库及答案(绝对经典)1.Hello world.输入:无输出:Hello world.程序:#include<stdio.h>int main(){printf("Hello world.\n");return 0;}2.Welcome to Beijing.程序:#include <stdio.h>int main(){printf("Welcome\n");printf("to\n");printf("Beijing.\n");return 0;}3. 求A+B输入:整数1 整数2输出:整数1+整数2=和程序:#include<stdio.h>int main(){int a,b;scanf("%d",&a);scanf("%d",&b);printf("%d+%d=%d\n",a,b,a+b);return 0;}4. 求 x 的 3次方输入:一个整数。

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

程序:#include<stdio.h>int main(){int x;scanf("%d",&x);printf("%d\n",x*x*x);return 0;}5. 学习打印你的第一个图形编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。

程序:#include<stdio.h>int main(){printf(" *\n");printf(" ***\n");printf(" *****\n");printf("*******\n");return 0;}6. 一年级的算术题输入:接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:123 444输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。

程序:#include<stdio.h>int main(){int a,b;scanf("%d %d",&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d\n",a,b,a/b);printf("%d%%%d=%d\n",a,b,a%b);return 0;}7. 求两个变量的最小值输入:两个整型数输出:两个整型值中的最小值程序:#include<stdio.h>int main(){int a,b;scanf("%d%d",&a,&b);printf("min=%d\n",a<b?a:b);return 0;}8. 判断三角形的形状输入:三角型的3条边的长度(int型)。

输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle不构成三角形:non-triangle一般三角形:triangle程序:#include<stdio.h>int main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){if (a==b&&b==c&&a==c)printf("equilateral triangle.\n");else if(a==b||a==c||b==c)printf("isoceles triangle.\n");elseprintf("triangle.\n");}elseprintf("non-triangle.\n");return 0;}9. 计算圆柱的侧面积及体积输入:第一行输入圆柱的底面半径 r第二行输入圆柱的高 h输出:s=< 圆柱的侧面积 >,v=< 圆柱的体积 >要求1. 所有变量都定义为双精度类型2. 结果精确到小数点后两位程序:#include<stdio.h>#define PI 3.1415926int main(){double r,h,s,v;scanf("%lf",&r);scanf("%lf",&h);s=2*PI*r*h;v=PI*r*r*h;printf("s=%.2f,v=%.2f\n",s,v);return 0;}10. 计算时钟的夹角背景:钟面上的时针和分针之间的夹角总是在 0 ~180之间 ( 包括 0 和180 ) 。

举例来说,在十二点的时候两针之间的夹角为 0 ,而在六点的时候夹角为180 ,在三点的时候为90 。

本题要解决的是计算 12:00 到 11:59 之间任意一个时间的夹角。

输入:每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于12) ,第二个数字代表分 ( 在区间 [0, 59] 上 ) 。

输出:对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。

输出格式如下所示。

程序:#include<stdio.h>#include<math.h>int main(){int h,m;float d1,d2,d;scanf("%d%d",&h,&m);d1=30*(h+m/60.0);d2=m*360/60.0;d=fabs(d1-d2);if(d>180)d=360-d;printf("At %d:%d the angle is %.1f degrees.\n",h,m,d);return 0;}11. 找出最大素数素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。

输入:取值范围输出:该范围内的最大素数程序:#include<stdio.h>int main(){int n,i,j;scanf("%d",&n);for(i=n;i>=1;i--){ for(j=2;j<i;j++)if(i%j==0)break;if(j==i){printf("The max prime number is %d.\n",i);break;}}}12. 求最后3位数值输入:a 和n 的值。

假设a<=150 。

输出:求 a 的n 次方的最后 3 位数。

程序:#include<stdio.h>int main(){long int s=1;int a,n,i=1,t=1;scanf("%d%d",&a,&n);if(n==0)printf("The last 3 numbers is 1.\n");else{for(i=1;i<=n;i++){s=(s*a)%1000;}t=s%1000;if(t>=0&&t<10) printf("The last 3 numbers is 00%d.\n",t);if(t>=10&&t<100) printf("The last 3 numbers is 0%d.\n",t);if(t>=100&&t<1000) printf("The last 3 numbers is %d.\n",t);}return 0;}13. 贪吃的猴子有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。

第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。

以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一般加5个)。

到第n天早上再想吃的时候,就只剩下一个桃子了。

输入:天数n输出:第一天的桃子个数程序:#include<stdio.h>int main(){int i,n,amount=1;scanf("%d",&n);for(i=n-1;i>=1;i--)amount=2*(amount+i);printf("The monkey got %d peachs in first day.\n",amount);}14. 黑色星期五在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。

所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。

输入:年份输出:判断该年是否包含黑色星期五,如包含,给出具体日期程序:#include<stdio.h>int main(){int i,n=0,year,month[12]={0};int a[13]={0,13,44,73,104,134,165,195,226,257,287,318,348};int b[13]={0,13,44,72,103,133,164,194,225,256,286,317,347};scanf("%d",&year);for(i=1;i<13;i++){if ((year%4==0 && year%100!=0)||year%400==0){if((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+a[i])%7==5) {n++;month[n]=i;}}elseif((year-1+((year-1)/4)-((year-1)/100)+((year-1)/400)+b[i])%7==5) {n++;month[n]=i;}}if(n==1){printf("There is %d Black Friday in year %d.\n",n,year);printf("It is:\n");printf("%d/%d/13\n",year,month[1]);}else{printf("There are %d Black Fridays in year %d.\n",n,year);printf("They are:\n");for (i=1;i<=n;i++){printf("%d/%d/13\n",year,month[i]);}}return 0;}15.你会输出一行星号?我们才开始上机,现在需要我们用最简单得办法,在一行中输出N个星号。

相关文档
最新文档