C语言程序设计试题第3套

合集下载

大连理工大学c语言题库(共12套)

大连理工大学c语言题库(共12套)
D、形参应与其对应的实参类型一致
14.下列形式,不属于编译预处理命令的是( ).
A、#ifdef M
B、#undef M
C、#if (M>1)
D、while (M>1)
15.下面判断正确的是()。
A、char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";
5.continue语句对于while和do-while循环来说,意味着转去计算While表达式.
6.在do-while循环中,根据情况可以省略while.
7.对于字符数为n个的字符串,其占用的内存为n+1个字节空间.
8.puts函数用来输出一个字符.
9.引用数组元素时,下标可以是整型表达式或整型常量.
{ int x;
int y;
} v2;
则( )是正确的引用或定义.
A、example.x=10;
B、struct v2;v2.x=10;
C、example v2;v2.x=10;
D、struct example v2={10,3};
17.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数
feof(fp)的值为()。
D、char *a[3];
10.下面叙述中不正确的是( ).
A、可以对字符型数组进行整体输入和输出.
B、不可以对浮点型数组进行整体输入和输出.
C、可以对整型数组进行整体输入和输出.
D、字符型数组可以存放字符串.
11.函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是( ).
A、实参与形参是双向传递
3.下面程序的正确输出结果是( ).(规定用U表示空格)

C语言程序设计(第3版)-参考答案

C语言程序设计(第3版)-参考答案

C语言程序设计(第3版)-参考答案C语言程序设计(第3版) - 参考答案C语言是一种广泛应用于软件开发领域的编程语言,它具有高效、简洁、灵活等特点。

《C语言程序设计(第3版)》是一本经典的教材,本文将提供一些参考答案,帮助读者更好地理解和掌握C语言程序设计。

一、基础知识1. 什么是C语言?C语言是一种通用的编程语言,由贝尔实验室的Dennis Ritchie开发,在20世纪70年代广泛流行起来。

它被设计为一种低级语言,可以直接操作计算机硬件,并提供了足够的抽象层次来方便高级程序设计。

2. 如何输出“Hello, World!”?在C语言中,使用printf函数可以输出文本信息。

要输出“Hello, World!”,可以使用以下代码:```#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```3. 如何定义和使用变量?在C语言中,可以使用关键字`int`、`float`、`char`等定义变量。

例如:```int age = 20;float weight = 60.5;char grade = 'A';```定义后的变量可以用于存储不同类型的值,并在程序中进行操作和输出。

二、控制流程1. 什么是条件语句?条件语句允许程序通过判断条件来选择性地执行不同的代码块。

在C语言中,常用的条件语句是`if`语句。

例如:```if (score >= 60) {printf("Pass\n");} else {printf("Fail\n");}```根据变量`score`的值,判断学生是否及格并输出相应结果。

2. 什么是循环语句?循环语句可以重复执行一段代码块,以达到多次执行的目的。

在C 语言中,常用的循环语句有`for`、`while`和`do while`。

C语言程序设计-第三版-部分习题-(谭浩强-著)-清华大学出版社-课后答案

C语言程序设计-第三版-部分习题-(谭浩强-著)-清华大学出版社-课后答案

C语言程序设计第三版部分习题 (谭浩强著)清华大学出版社课后答案。

txtcopy(复制)别人的个性签名,不叫抄袭,不叫没主见,只不过是感觉对了。

遇到过的事一样罢了。

【习题1】一、简答题(在课本中寻找答案,略)1.1 C程序的基本结构包括哪些内容?1.2 如何定义标识符?1。

3 输入格式、输出格式的组成包括哪些内容?1.4 C语言函数分为哪两类?1。

5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头.错误:main函数可以放在程序的任何位置.并不限定在程序的开头。

1。

8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现.错误:不可以交叉出现,数据说明部分在执行语句部分的前面。

1。

9 编辑与编译不是一回事。

错误:不是一回事。

编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。

1.10 scanf("%d,%d”,&x,&y);的正确输入格式:3,4<回车〉.正确1。

11 注释内容太多会影响程序的执行效率。

错误:不会影响程序的执行效率。

因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中.1.12 所有的数学公式可以直接出现在源程序中.错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。

三、编程题1.13 在屏幕上输出自己名字的拼音.提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。

1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。

提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%。

2f1。

15 输入两个整数,输出其中最大者。

提示:模仿例1。

31.16 输入三个整数,输出其中最小者.提示: min(min(a,b),c);【习题2】一、简答题(在课本中寻找答案,略)2.1 常量与变量的区别?2。

青少年软件编程(C语言)等级考试试卷(三级)

青少年软件编程(C语言)等级考试试卷(三级)

青少年软件编程(C语⾔)等级考试试卷(三级)1.因⼦问题因⼦问题任给两个正整数N、M,求⼀个最⼩的正整数a,使得a和(M-a)都是N的因⼦。

时间限制:10000内存限制:65536输⼊包括两个整数N、M。

N不超过1,000,000。

输出输出⼀个整数a,表⽰结果。

如果某个案例中满⾜条件的正整数不存在,则在对应⾏输出-1样例输⼊35 10样例输出5#include <stdio.h>int main(int argc, char *argv[]){int N,M,a=0,t;scanf("%d%d",&N,&M);t=M/2;for(a=1;a<=t;a++){if( N%a==0 && (N%(M-a)==0) ) { t=-1; break; }}if(t!=-1) printf("-1\n");else printf("%d\n",a);return0;}2.质数的和与积质数的和与积两个质数的和是S,它们的积最⼤是多少?时间限制:10000内存限制:65536输⼊⼀个不⼤于10000的正整数S,为两个质数的和。

输出⼀个整数,为两个质数的最⼤乘积。

数据保证有解。

样例输⼊50样例输出589#include <bits/stdc++.h>int prime(int h){if(h < 2){return0;}for(int i=2;i<=h/2;++i){if(!(h%i))return0;}return1;}int main( ){int n;int max=0;int sj=1;int m;{if(prime(i)){m=n-i;if(prime(m)){sj=m*i;if(max<sj)max=sj;}}}printf("%d",max);}3.扩号匹配问题扩号匹配问题在某个字符串(长度不超过100)中有左括号、右括号和⼤⼩写字母;规定(与常见的算数式⼦⼀样)任何⼀个左括号都从内到外与在它右边且距离最近的右括号匹配。

c程序设计第三习题解答全

c程序设计第三习题解答全

C程序设计(第三版)课后习题参考解答第1章C语言概述1.5 参照本章例题,编写一个C程序,输出以下信息:******************************Very Good!******************************解:main ( ){printf(“****************************** \n”);printf(“\n”);printf(“Very Good! \n”);printf(“\n”);printf(“****************************** \n”);}1.6 写一个程序,输入a,b,c三个值,输出其中最大者。

解:main ( ){int a,b,c,max;printf(“请输入三个数a,b,c: \n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf(“最大数为:%d ”,max);}第2章程序的灵魂——算法2.1 什么叫结构化的算法?为什么要提倡结构化的算法?解:由一些基本结构顺序组成的算法称为结构化的算法。

由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。

2.7 什么叫结构化程序设计?它的主要内容是什么?解:结构化程序就是用高级语言表示的结构化算法。

它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。

第3章数据类型、运算符与表达式3.4将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。

注:如果没有学过二进制和补码,此题可以不做。

解:各数据在内存中的存储形式如下表所示:它是一个负数的补码,对其再求一次补码可得其真值,即-(65536-32769)=-32767。

2024年3月青少年软件编程C语言等级考试试卷三级真题

2024年3月青少年软件编程C语言等级考试试卷三级真题

2024年3月青少年软件编程C语言等级考试试卷三级真题分数:100 题数:5一、编程题(共5题,共100分)1.我家的门牌号我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。

若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。

数据保证有唯一解。

时间限制:1000内存限制:65536输入一个正整数n。

n < 100000。

输出一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。

样例输入样例输出试题编号:20240323-3-01试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:#include<iostream>using namespace std;int main(){int a;cin>>a;for(int i=1;i<100000;i++){for(int j=1;j<=i;j++){if((i+1)*i/2-j*2==a){cout<<j<<' '<<i;return 0;}}}}考生得分:20是否评分:已评分评价描述:2.最接近的分数分母不超过N 且小于A/B 的最大最简分数是多少?时间限制:10000内存限制:65536输入三个正整数N,A,B,相邻两个数之间用单个空格隔开。

1 <= A < B < N <= 1000。

输出两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。

样例输入样例输出试题编号:20240323-3-02试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:(此题已作答)考生得分:0是否评分:已评分评价描述:3.菲波那契数列菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。

给出一个正整数a,要求菲波那契数列中第a个数对10000取模的结果是多少。

c本科三试题及答案

c本科三试题及答案

c本科三试题及答案一、单项选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str = "Hello";答案:A4. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. !D. =答案:A5. 以下哪个选项是C语言中合法的数组声明?A. int array[] = {1, 2, 3};B. int array[] = (1, 2, 3);C. int array[] = {1; 2; 3};D. int array[] = 1, 2, 3;答案:A6. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:A8. C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A9. 在C语言中,以下哪个选项表示无限循环?A. while(1)B. for(;;)C. do{}while(1)D. A和B答案:D10. C语言中,以下哪个选项用于定义一个结构体?A. structB. struct{}C. struct nameD. struct{}答案:A二、填空题(每题2分,共20分)1. C语言中,______关键字用于定义一个宏。

2023年9月青少年软件编程C语言等级考试试卷三级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷三级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷三级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.谁是你的潜在朋友“臭味相投”——这是我们描述朋友时喜欢用的词汇。

两个人是朋友通常意味着他们存在着许多共同的兴趣。

然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。

幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。

首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。

同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。

你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。

时间限制:1000内存限制:65536输入第一行两个整数N,M,2<=N,M<=200。

接下来有N行,第i(i=1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)输出包括N行,每行一个数,第i行的数表示读者i有几个潜在朋友。

如果i和任何人都没有共同喜欢的书,则输出“BeiJu”(即悲剧,^^)样例输入452321样例输出1BeiJu1BeiJu参考答案:#include<iostream>using namespace std;int a[10000],ans,c;int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a[i]==a[j]){ans++;}}if(ans>1){cout<<ans-1<<endl;}else{cout<<"BeiJu"<<endl;}ans=0;}return0;}第2题.课程冲突小A修了n门课程,第i门课程是从第ai天一直上到第bi天。

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

C语言程序设计试题(第3套)一、单项选择题(30分,每题2分)1.下面关于C语言的说法,错误的是______。

A、一个C程序总是从执行main开始。

B、C程序可以用/<*……*>/ 对程序作注释。

C、C语言本身没有输入输出语句,输入、输出操作由库函数scanf和printf等来完成。

D、在C程序中,数据定义的最后必须写上一个分号。

2.判断字符串s1是否大于字符串s2,应当使用。

A、if (s1>s2)B、if (strcmp(s1,s2))C、if (strcmp(s2,s1)>0)D、if (strcmp(s1,s2)>0)3. 下列表达式错误的是______。

A、4/7B、4.0/7.0C、(-4)%(-7)D、4.0%7.04. 以下能定义为用户标识符的是______。

A、scanfB、printfC、_3com_D、int5. 能正确表示a和b 同时为正或同时为负的逻辑表达式是______。

A、(a>=0‖b>=0)&&(a< 0‖b<0)B、(a>=0&&b>=0)&&(a< 0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>06. 若有以下程序段:int c1=1, c2=2 ,c3; c3=2.0+c1%c2 ; 则执行后,c3的值是______。

A、2.0B、2C、3.0D、37.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。

A、scanf("%d%d%d",i,j,k);B、scanf("%d %d %d",&i,&j,&k);C、scanf("%d,%d,%d",&i,&j,&k);D、scanf("%d,%d,%d",i,j,k);8. 以下程序输出结果是。

A、7B、6C、5D、4main(){ int m=5;if(m++>5) printf("%d\n",m);esle printf("%d\n",m- -);}9. 有以下程序段#include<stdio. h>main(){int sum=0,i;scanf("%d",&i);do{sum=sum+i;i++;}while(i<=10);printf("sum=%d\n",sum);}若运行时从键盘输入11,则循环体会执行。

A、11次B、10次C、1次D、0次10.二维数组int a[4][4]前5个元素在内存中的排列次序为。

A、a[0][0] a[1][1] a[2][2] a[3][3] a[4][4]B、a[0][0] a[0][1] a[0][2] a[0][3] a[1][0]12.以下程序的输出结果是。

A、3B、2C、1D、4main(){ int a[10]={1,2,3,4,5,6,7,8,9,10} , *p ;p=a;printf(" %d", *(p+2) );}13.下面对一维数组初始化(10个元素,各元素都赋值为0)的语句不合法的是。

A、int a[10]={0,0,0,0,0,0,0,0,0,0};B、int a[10]={0};C、int a[10]={0*10};D、int a[]={0,0,0,0,0,0,0,0,0,0};14. 有以下程序main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i);}}执行后输出结果是。

A、011122B、012C、012020D、12015. putchar函数可以向终端输出一个。

A、整型变量表达式值B、字符C、字符串D、实型变量值一.程序填空题(30分,每空3分)1. 有以下语句段int n1=10,n2=20;printf("①",n1,n2);要求按以下格式输出n1和n2的值,输出行从第一列开始,请填空。

n1=10,n2=202. 以下程序的功能是找出x、y、z三个数中的最小值。

请填空。

main( ){ int x=4, y=5, z=8;int u, v;u=x<y ? x:y ;v=u<z ? ②;printf("%d", v);}3.统计数组元素中值大于等于60的元素的个数。

请填空。

main(){int s,i,a[10]={50,60,70,80,90,100,66,44,55,77};s=0;for(i=0;i<10;i++)if( ③)④;printf("%d",s);}4.用冒泡法对数组中的10个已知元素升序(由小到大)排序。

请填空。

main(){int a[10]={3,2,1,8,7,9,5,4,10,12};int i,j,t;for(i=0;i<9;i++)for(j=0; ⑤; j++)if(a[j]>a[j+1]){ t=a[j] ; ⑥; ⑦;}for(i=0;i<10;i++)printf("%d ",a[i]);}5.有一函数:-1.0 (x<0.0)y={ 0 (x=0.0)1.0 (x>0.0)输入一个x值,输出y值。

请填空。

main(){float x , y ;scanf ("%d",&x);if (x<0) ⑧;else if (x>0) ⑨;else ⑩;printf ("x=%f, y=%f\n" , x, y );}三.程序阅读题(20分,每题4分)阅读下列各程序,将程序运行输出的结果写在题目右边。

1. 写出程序运行的结果:main ( ){float i,j;i=3.0;j=6.2;printf("%d,%d,", (int)i,(int)j);printf("%f\n", (int)i+j);}2. 写出程序运行的结果:#define N 2main(){ int i=10, j=0;do{ j=j + i; i--;}while(i>N);printf("i=%d, j=%d\n", i, j);}3. 写出程序运行的结果:main(){ int i,j;for(i=6;i<=9;i++){ for(j=i;j<=9;j++)printf("%d",j);printf("\n");}}4. 写出程序运行的结果:main(){ int *var , ab ;ab=100;var = &ab ; ab = *var +10 ;printf("%d\n", *var ) ;}5.写出程序运行的结果(输入为73,84):main ( ){int a,b,c;scanf ("%d,%d",&a,&b);c=max(a,b);printf ("Max is %d\n", c);}max(int x,int y){int z;z=x>y?x:y;return(z);}四.程序设计题(20分,每题10分)认真阅读题目,按要求编写完整的C语言程序。

1.求一笔定期存款的利息:输入存款数、存款年数,输出到期利息。

设存款利率为:1年期2%,2年期2.5%,3年期2.8%,5年期3%。

利息计算公式:a=p×r×n,其中a为到期利息,p为存款数,n为存款年数(1年,2年,3年或5年),r为年利率。

2.某亿万富翁路遇阿凡提,阿凡提与他谈一个两人换钱的计划,阿凡提说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱,……,我每天都给你10万元,你每天给我的钱是前一天给我的钱的两倍,直到满一个月(30天)。

”富翁闻之大喜,兴奋地签署了这个契约。

请编写一个循环结构的程序计算一下,这一个月(30天)中,阿凡提给了富翁多少钱(用变量t表示),富翁给了阿凡提多少钱(用变量ssum表示)。

———————————————————————————本套题的参考答案:一.单项选择题(30分,每小题2分)1B 6D 11C 2D 7C 12A 3D 8B 13C 4C 9C 14A 5D 10B 15B二.程序填空题(30分,每空3分)①n1=%d,n2=%d或n1=%d,n2=%d\n或n1=%2d,n2=%2d或n1=%2d,n2=%2d\n②u:z ③a[i]>=60 ④ s++或s=s+1 ⑤j<9-i⑥a[j]=a[j+1] ⑦a[j+1]=t ⑧y=-1.0或y=-1 ⑨y=1.0或y=1 ⑩y=0.0或y=0 三.程序阅读题(20分,每题4分)1. 3,6,9.200000或3,6,9.22. i=2, j=523. 6 7 8 97 8 98 994. 1105. Max is 84四.1. 本题10分。

main( ){int n;float a,p;printf ("Please input P and n:\n" );scanf ("%f,%d",&p,&n);switch (n){ case 1: a=p*2.0/100*n; break;case 2: a=p*2.5/100*n; break;case 3: a=p*2.8/100*n; break;case 5: a=p*3.0/100*n;}printf ("a=%.2f\n", a );}2.本题10分。

main( ){ int i;long s,t,ssum; 或float s,t,ssum;s=1;t=100000;ssum=1;for(i=2;i<=30;i++) 或for(i=1;i<30;i++){ s=2*s;ssum=ssum+s;t=t+100000;}ssum=ssum/100;printf("ssum=%ld,t=%ld\n",ssum,t); 或%f代替%ld(定义为float时)}。

相关文档
最新文档