蓝桥比赛练习C语言[5篇]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蓝桥比赛练习C语言[5篇]
第一篇:蓝桥比赛练习C语言
时间限制:1.0s 内存限制:256.0MB
1闰年判断
问题描述
给定一个年份,判断这一年是不是闰年。
当以下情况之一满足时,这一年是闰年: 1.年份是4的倍数而不是100的倍数; 2.年份是400的倍数。
其他的年份都不是闰年。
输入格式
输入包含一个整数y,表示当前的年份。
输出格式
输出一行,如果给定的年份是闰年,则输出yes,否则输出no。
说明:当试题指定你输出一个字符串作为结果(比如本题的yes 或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。
样例输入
2013 样例输出
no 样例输入
2016 样例输出
yes 数据规模与约定
1990 <= y <= 2050。
本题的C参考代码如下:
1.#include
2.int main()
3.{
4.int y;
5.scanf(“%d”, &y);
6.if(y%4==0 && y%100!=0 || y%400==0)
7.printf(“yes”);
8.else
9.printf(“no”);10.return 0;11.} 2.01字串
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。
它们的前几个是:
00000 00001 00010 00011 00100 请按从小到大的顺序输出这
32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000 00001 00010 00011 本题的C参考代码如下:
1.#include
2.int main()
3.{
4.int i, j, k, l, m;
5.for(i = 0;i <= 1;++i)
6.for(j = 0;j <= 1;++j)
7.for(k = 0;k <= 1;++k)
8.for(l = 0;l <= 1;++l)
9.for(m = 0;m <= 1;++m)10.printf(“%d%d%d%d%dn”, i, j, k, l, m);11.return 0;12.}
3.字母图形
问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n行,每个m个字符,为你的图形。
样例输入 7 样例输出
ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 数据规模与约定 <= n, m <= 26。
本题的C参考代码如下:
1.#include
2.#include
3.#define MAXSIZE 26
4.
5.//输出
6.void Print(char matrix[MAXSIZE][MAXSIZE],int n,int m)
7.{
8.int i,j;
9.for(i=0;i
20.void Drawing(int n,int m)21.{ 22.int i,j;23.int point=0;24.char str;25.char
matrix[MAXSIZE][MAXSIZE];26.for(i=0;i=0;j-
-)35.{ 36.matrix[i][j]=++str;37.} 38.} 39.Print(matrix,n,m);40.} 41.int main()42.{ 43.int n,m;44.scanf(“%d%d”,&n,&m);45.Drawing(n,m);46.return 0;47.} 4.数列特征
问题描述
给出n个数,找出这n个数的最大值,最小值,和。
输入格式
第一行为整数n,表示数的个数。
第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。
输出格式
输出三行,每行一个整数。
第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
样例输入1 3-2 4 5 样例输出-2 3 数据规模与约定<= n <= 10000。
本题的C参考代码如下:
1.#include
2.#include
3.#define MAXSIZE 10000
4.
5.int main()
6.{
7.int i;
8.int n;
9.int value;10.int max=-MAXSIZE;
11.int min=MAXSIZE;12.int sum=0;13.scanf(“%d”,&n);14.for(i=0;imax)max=value;18.if(val ue
5.查找整数
问题描述
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
输入格式
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入 1 9 4 8 3 9 9 样例输出
数据规模与约定 <= n <= 1000。
本题的C参考代码如下:
1.#include
2.#define MAXN 10001
3.int n, a, ans;
4.int s[MAXN];
5.int main()
6.{
7.int i;
8.scanf(“%d”, &n);
9.for(i = 0;i < n;++i)10.scanf(“%d”, &s[i]);11.scanf(“%d”, &a);12.ans =-1;13.for(i = 0;i < n;++i)14.{ 15.if(s[i] == a)16.{ 17.ans = i + 1;18.break;19.} 20.} 21.printf(“%d”, ans);22.return 0;23.} 6.杨辉三角形
问题描述
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)的展开式的系数。
它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。
i
下面给出了杨辉三角形的前4行:
1
1
3 1
给出n,输出它的前n行。
输入格式
输入包含一个数n。
输出格式
输出杨辉三角形的前n行。
每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。
请不要在前面输出多余的空格。
样例输入样例输出 1 1 1 2 1 1 3 3 1 数据规模与约定 <= n <= 34。
本题的C参考代码如下:
1.#include
2.#define MAXN 40
3.int n;
4.int a[MAXN][MAXN];
5.int main()
6.{
7.int i, j;
8.scanf(“%d”, &n);
9.a[0][0] = 1;10.for(i = 0;i < n;++i)11.{ 12.a[i][0] = a[i][i] = 1;13.for(j = 1;j < i;++j)14.a[i][j] = a[i-1][j-1] + a[i-1][j];15.} 16.for(i = 0;i < n;++i)17.{ 18.for(j = 0;j <= i;++j)19.printf(“%d ”, a[i][j]);20.printf(“n”);21.} 22.return 0;23.}
7.特殊的数字
时间限制:1.0s 内存限制:512.0MB
问题描述
153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。
编程求所有满足这种条件的三位十进制数。
输出格式
按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
1.#include
2.int main()
3.{
4.int i,j,k,n;
5.for(n=100;n<1000;n++)
6.{
7.i=n/100;8.j=n/10%10;9.k=n%10;10.if(i*100+j*10+k==i*i*i
+j*j*j+k*k*k)11.printf(“%dn”,n);12.} 13.return 0;14.} 8.回文数问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
本题的C参考代码如下:
1.#include
2.int main()
3.{
4.int a,b,c,d,i;
5.for(i=1000;i<=9999;i++)
6.{
7.a=i/1000;
8.b=i/100%10;9 .c=i/10%10;10.d=i%10;11.if(a==d&&b==c)12.printf(“%dn”,i); 13.} 14.return 0;15.}
9.特殊回文数
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
样例输出
899998 989989 998899 数据规模和约定
1<=n<=54。
本题的C参考代码如下:
1.#include
2.int main()
3.{
4.int a,b,c,d,e,f,t,all;
5.scanf(“%d”,&t);
6.for(a=1;a<10;a++)
7.for(b=0;
b<10;b++)8.for(c=0;c<10;c++)9.for(d=0;d<10;d++)10.for(e=0;e <10;e++)11.{ 12.if(a==e)13.if(b==d)14.{ 15.all=a+b+c+d+e;16.if (all==t)17.printf(“%dn”,a*10000+b*1000+c*100+d*10+e);18.} 19.} 20.for(a=1;a<10;a++)
21.for(b=0;b<10;b++)22.for(c=0;c<10;c++)23.for(d=0;d<10 ;d++)24.for(e=0;e<10;e++)25.for(f=0;f<10;f++)26.{ 27.if(a==f)2 8.if(b==e)29.if(c==d)30.{ 31.all=a+b+c+d+e+f;32.if(all==t)33.pr intf(“%dn”,a*100000+b*10000+c*1000+d*100+e*10+f);34.} 35.} 36.37.return 0;38.}
10.十进制转十六进制
问题描述
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。
它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。
十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进
制的30在十六进制中是1E。
给出一个非负整数,将它表示成十六进制的形式。
输入格式
输入包含一个非负整数a,表示要转换的数。
0<=a<=2147483647 输出格式
输出这个整数的16进制表示
样例输入样例输出
1E 本题的C参考代码如下:
1.#include
2.#include
3.char data[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
4.
5.//输出
6.void Print(char *num,int n)
7.{
8.int i;
9.for(i=n-1;i>=0;i--)printf(“%c”,num[i]);10.printf(“”);11.printf(“n”);12.}
13.14.//将十六进制数转换为十进制数
15.int Transform(char *num,long long value)16.{ 17.int n=0;18.while(value>=16)19.{ 20.num[n++]=data[value%16];21.v alue/=16;22.} 23.num[n++]=data[value%16];24.return n;25.} 26.27.int main()28.{ 29.long long value;30.char num[10];31.int n;32.scanf(“%I64d”,&value);33.n=Transform(num,value);34.Pri
nt(num,n);35.return 0;36.}
11.十六进制转十进制
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF 样例输出
65535 本题的C参考代码如下:
1.#include
2.#include
3.#include
4.int main()
5.{
6.double sum=0,x;
7.char a[8];
8.int
len,i=0;9.gets(a);10.len=strlen(a);11.while(len)12.{ 13.if(a[len-1]>='A'&&a[len-1]<='F')14.x=(a[len-1]-'7')*pow(16,i++);15.else 16.x=(a[len-1]-'0')*pow(16,i++);17.sum+=x;18.len--;19.}
20.printf(“%.0lf”,sum);21.22.return 0;23.24.}
12.十六进制转八进制
问题描述
给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
输入的第一行为一个正整数n(1<=n<=10)。
接下来n行,每行一个由0~
9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
输出n行,每行为输入对应的八进制正整数。
注意
输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。
样例输入 39 123ABC 样例输出
4435274 提示
先将十六进制数转换成某进制数,再由某进制数转换成八进制。
本题的C参考代码如下:
1.#include
2.#include
3.#include
4.
5.#define MaxSize 100000
6.
7.void saveB(char *b,char c3,char c2,char c1,char c0,int start)
8.{
9.b[start]=c3;10.b[start+1]=c2;11.b[start+2]=c1;12.b[sta rt+3]=c0;13.} 14.int htob(char *h,char *b)15.{ 16.int i,j;17.int hl=strlen(h);18.for(i=0;i
20.{ 21.case '0': 22.{ 23.saveB(b,'0','0','0','0',4*i);24.break;25.} 26.case '1': 27.{ 28.saveB(b,'0','0','0','1',4*i);29.break;30.} 31.case '2': 32.{ 33.saveB(b,'0','0','1','0',4*i);34.break;35.} 36.case '3': 37.{ 38.saveB(b,'0','0','1','1',4*i);39.break;40.} 41.case '4':
42.{ 43.saveB(b,'0','1','0','0',4*i);44.break;45.} 46.case '5': 47.{ 48.saveB(b,'0','1','0','1',4*i);49.break;50.} 51.case '6': 52.{ 53.saveB(b,'0','1','1','0',4*i);54.break;55.} 56.case '7': 57.{ 58.saveB(b,'0','1','1','1',4*i);59.break;60.} 61.case '8': 62.{ 63.saveB(b,'1','0','0','0',4*i);
64.break;65.} 66.case '9': 67.{ 68.saveB(b,'1','0','0','1',4*i);69.break;70.} 71.case 'A': 72.{ 73.saveB(b,'1','0','1','0',4*i);74.break;75.} 76.case 'B': 77.{ 78.saveB(b,'1','0','1','1',4*i);79.break;80.} 81.case 'C': 82.{ 83.saveB(b,'1','1','0','0',4*i);84.break;85.} 86.case 'D': 87.{ 88.saveB(b,'1','1','0','1',4*i);89.break;90.} 91.case 'E': 92.{ 93.saveB(b,'1','1','1','0',4*i);94.break;95.} 96.case 'F': 97.{ 98.saveB(b,'1','1','1','1',4*i);99.break;100.} 101.} 102.return 4*hl;103.} 104.int btoo(char *b,char *o,int bl)105.{ 106.int i,j;107.int ol;
108.int value;109.if(bl%3==0)110.ol=bl/3;111.else 112.ol=bl/3+1;113.j=bl-1;114.for(i=ol-1;i>=0;i-
-)115.{ 116.if(i>0)117.o[i]=b[j]-48+(b[j-1]-48)*2+(b[j-2]-48)*4+48;118.else 119.{ 120.switch(j)121.{ 122.case 2: 123.o[i]=b[j]-48+(b[j-1]-48)*2+(b[j-2]-
48)*4+48;124.break;125.case 1: 126.o[i]=b[j]-48+(b[j-1]-48)*2+48;127.break;128.case 0: 129.o[i]=b[j];130.break;131.} 132.133.} 134.j=j-3;135.} 136.return ol;137.} 138.void printO(char *o,int ol)139.{ 140.int i=0;141.if(o[0]=='0')142.i=1;143.for(;i 152.char b[4*MaxSize];153.char o[4*MaxSize/3+1];154.int n,i,bl,ol;155.scanf(“%d”,&n);156.getchar();157.for(i=0;i 13.数列排序
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。
1<=n<=200 输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入 8 3 6 4 9 样例输出 4 6 8 9 本题的C参考代码如下:
1.#include
2.#include
3.void Print(int *data,int n)
4.{
5.int i;
6.for(i=0;i=value && pre
28.void QuickSort(int *data,int pre,int rear)29.{ 30.if(pre
50.Print(data,n);51.return 0;52.} /*问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入FFFF 样例输出65535*/ #include #include #include #include
int main()
{
char a[10],i=0;long int sum=0,k1;char k;s:printf(“Please enter a sixteen band:”);while(1){ scanf(“%c”,&k);
if(k>48&&k<=57)a[i++]=k-48;//判断用户的输入,错误输入会报错
else if(k==48)a[i++]=16;else if(k>='a'&&k<='f')a[i++]=k-87;else if(k>='A'&&k<='F')a[i++]=k-55;else if(k=='n'){a[i++]='';break;} else {printf(“input error!n”);fflush(stdin);i=0;memset(a,'',10);goto s;} } k1=(int)strlen(a);//因为输入'0'时会自动转化为16(防止stlen函数停止读取),所以要把strlen结果记录入k1 for(i=0;i
int main(){ int i=0,n=0;char a[10];unsigned long sum=0;
scanf(“%s”,a);n=sizeof(a);
for(i=0;i
//注:ascii码:A~65 0~48
//b=a[i];
if(a[i]>='0'&&a[i]<='9')// 输入的数范围在0~9 转换10进制
{
sum=sum*16;
sum=sum+a[i]-'0';
}
if(a[i]>='A'&&a[i]<='F')// 输入的数范围在10~15
{
sum=sum*16;
sum=sum+a[i]-'A'+10;
} } printf(“%u”,sum);//----------------------------
return 0;}*/ /*1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
*/
int main(){
int a,b,c,d,i;
for(i=1000;i<10000;i++){
a=i/1000;
b=i%1000/100;
c=i%100/10;
d=i%10;
if(a==d&&b==c)printf(“%6d”,i);} }
第二篇:c语言编程练习
本实验所有题目均要求使用指针。
1.写一函数,将一个3*3的整型矩阵转置。
2.将两个按升序排列的数组合并成一个数组,并使合并后的数组也按升序排列。
要求:(1)输入两个数组(按升序);
(2)将两个数组合并成第三个数组;(有能力的同学可以将第二个数组合并到第一个数组中)
第三篇:C语言练习卷-虚拟人生
题目:虚拟人生
一、语言和环境
1.实现语言:C语言。
2.环境要求:devC++。
二、实现功能
开发一套虚拟人生C语言系统,具体实现如下功能:
1.打开系统显示欢迎界面,以及功能菜单,用户输入需要操作的功能序号,根据用户选择的需要进行相应界面
如图1所示。
图1
功能菜单
2.当用户输入序号1时进入到超市购物界面,从数组中读取3个商品信息并进行显示,并提示用户选择需要购买的商品序号。
如图2所图2
显示商品信息
3.当用户选择商品序号后,显示购买的商品名称并提示“是否确认购买?”,当用户输入“Y”代表确认购买,判断用户余额是否充足,如果余额不足则提示余额不足,如果余额充足则进行购买并从余额中扣除相应的金额以及商品库存进行相减。
如图3,图4所示图3
购买余额不足提示
图4
购买余额充足进行余额相减并减少库存
4.当用户选择菜单按键2时可以查询账号的余额
如图5所示
图5
查询账号余额
5.当用户选择菜单按键3时进入打工界面并可以进行赚钱,按照用户输入的时间数字进行余额的增加,1秒钟加500元,累加的过程需要间隔1秒钟显示
如图6所示
图6
打工赚钱
6.当用户选择菜单按键4时可以把屏幕文字进行清理
三、具体要求及推荐实现步骤
1.定义结构体保存,商品信息(商品名称,商品价格,商品库存,商品说明),定义商品结构体数组保存3个商品。
定义变量保存用户余额默认为0。
2.在main函数中加入商品初始化代码,手动向结构体数组中添加3个商品信息
3.进入超市购买商品
a)
循环把结构体数组中的3个商品显示在控制台中
b)
当用户选择需要购买的商品序号进行判断
i.如果余额充足则根据商品价格对余额进行减少,并对库存进行减一
ii.如果余额不充足则提示“余额不足”
4.赚钱
a)
当用户余额不足可以通过打工的方式赚钱,用户可以输入1-24这样的数字表达打工的小时数,每小时增加500元,当用户输入10时代表10个小时,利用循环对余额进行增加,每隔一秒钟显示一次。
5.清理屏幕文字
a)
当用户选择清理屏幕文字时可以通过代码把屏幕文字清空
四、评分标准
标准:虚拟人生
该项目的评分标准如下:
变量定义及初始化
定义结构体和结构体数组
定义函数对结构体数组初始化3个商品信息
主函数中能够循环进行菜单中的相关操作,并选择退出能自动退出程序
超市购买功能
正确定义商品购买函数
正确显示商品信息并提示用户输入商品序号
正确实现商品购买(判断余额是否充足和对库存减少)
赚钱
正确定义打工赚钱函数
正确显示打工界面并获取用户输入的打工时间
正确对时间进行循环并增加余额
查询余额和清理屏幕
正确显示余额
正确针对屏幕进行清空
总分
100分
第四篇:c语言
第一次大作业
作业题目:
第一题:编写一个程序,要求实现以下功能:输入单价和数量,求出货物的金额。
货物可能会有折扣,如有折扣,请计算折后金额。
要求程序人机界面友好,操作使用方便。
提示:人机界面友好是指软件应包括软件作者、开发日期、版本号等,并且输出信息清晰,一目了然;程序可通过按任意键退出程序,否则程序保持输出界面。
按任意键可通过调用库函数getch()实现。
第二题:自拟C程序设计题目一个,写出程序并调试通过。
程序越长越复杂越好,至少10条语句以上。
作业要求:
1.作业必须以设计报告的形式上交。
设计报告应包括以下几个部
分:题目、编写思路说明、C源程序清单、程序调试过程与分析(若干屏幕拷贝图片反映调试修改过程)、运行结果(屏幕拷贝运行结果)、编写调试心得、参考文献。
2.设计报告页面一律设置为A4纸,文字大小为5号宋体(当前文本就是5号),行间距为22磅(当前文本的行间距离就是)。
要求文字流畅,段落清晰。
3.设计报告应有封面,封面包括:第几次大作业、专业班级、学号、姓名,宋体,字号自定,形式美观整齐。
4.不能相互抄袭。
发现作业雷同者,当次作业成绩均按不超过及格处理。
5.作业提交时间:9月29日。
请学委以班级为单位,将各同学的电子文档打包成一个文件统一发送或拷贝给我。
每位同学的设计报告请以“姓名_x.doc”或者“姓名_x.pdf”的文件名提交,其中x表示第几次作业。
逾期作自动放弃处理.
第五篇:C语言
课后练习作业1 1.(单选题)设有定义:int a,b[10],*c=NULL,*p;,则以下语句错误的是()。
(本题10.0分)A、p=a;B、p=b;C、p=c;D、p=&b[0];学生答案:D 标准答案:A 解析:得分:0 2.(单选题)有如下程序#include main(){ int x=13;printf(“%dn”,x+1);} 程序运行后的输出结果是()。
(本题10.0分)
A、11
B、13
C、14
D、12 学生答案:B 标准答案:C 解析:得分:0 3.(单选题)有如下程序#include main(){ char name[10]={'S','T','R','I','N','G'};name[3]='E';name[5]=’’;printf(“%sn”,name);} 程序运行后的输出结果是()。
(本题10.0分)A、STRENG B、STRIEG C、STREN D、STREN0
学生答案:B 标准答案:C 解析:得分:0 4.(单选题)#include main(){ int a=65;switch(a){ case 65: printf(“%c”,’A’);case 66:printf(“%c”,’B’);break default : printf(“%sn”,”other”);} } 程序运行后的输出结果是()。
(本题10.0分)A、Aother B、AB C、Bother D、ABother 学生答案:A 标准答案:B 解析:
得分:0 5.(单选题)有以下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES,否则输出NO。
在下划线处应填的是()。
#include main(){ int k;printf(“Enter a int number:”);scanf(“%d”,&k);if__________printf(“YESn”);else printf(“NOn”);printf(“%dn”,k%3);}(本题10.0分)A、((k%3==0)||(k%7==0))B、(k/3==0)||(k/7==0)C、((k%3=0)||(k%7=0))D、((k%3==0)&&(k%7==0))学生答案:B 标准答案:A 解析:
得分:0 6.(单选题)若有以下程序#include main(){ int a=1,b=2,c=3,d=4;if((a=2)&&(b=1))c=2;if((c==3)||(d=-
1))a=5;printf(“%d,%d,%d,%dn”,a,b,c,d);} 则程序的输出结果是()。
(本题10.0分)A、2,2,2,4 B、2,1,2,-1 C、5,1,2,-1 D、1,2,3,4 学生答案:B 标准答案:C 解析:得分:0 7.(单选题)有如下程序段for(i=0;i<10;i++)
if(i<=5)break;则循环结束后i的值为()。
(本题10.0分)A、1 B、0 C、5 D、10 学生答案:D 标准答案:B 解析:得分:0 8.(单选题)有如下程序 #include main(){ char ch='A';for(;ch
} } 程序运行后的输出结果是()。
(本题10.0分)A、ABC B、012 C、abc D、123 学生答案:B 标准答案:B 解析:得分:10 9.(单选题)#include main(){ int i=0;while(i<=1){i++;printf(“%d,”,i);} } 程序运行后的输出结果是()。
(本题10.0分)
A、0,1
B、0,1
C、1,2
D、1,2, 学生答案:B 标准答案:D 解析:得分:0 10.(单选题)#include main(){int x[9] ={1,2,3,4,5,6,7,8,9},i;for(i=0;i<9;i=i+2)printf(“%d,”,x[i]);} 程序运行后的输出结果是()。
(本题10.0分)A、1,3,5,7,9, B、13579 C、2,4,6,8, D、2468 学生答案:B
标准答案:A
课后练习作业2 1.(单选题)设有定义:int a,b[10],*c=NULL,*p;,则以下语句错误的是()。
(本题10.0分)A、p=a;B、p=b;C、p=c;D、p=&b[0];学生答案:D 标准答案:A 解析:得分:0 2.(单选题)有如
下程序#include main(){ int x=13;printf(“%dn”,x+1);} 程序运行后的输出结果是()。
(本题10.0分)
A、11
B、13
C、14
D、12 学生答案:D 标准答案:C 解析:得分:0 3.(单选题)有如下程序#include main(){ char name[10]={'S','T','R','I','N','G'};name[3]='E';name[5]=’’;printf(“%sn”,name);} 程序运行后的输出结果是()。
(本题10.0分)A、STRENG B、STRIEG C、STREN D、STREN0
学生答案:C 标准答案:C 解析:得分:10 4.(单选题)#include main(){ int a=65;switch(a){ case 65: printf(“%c”,’A’);case 66:printf(“%c”,’B’);break default : printf(“%sn”,”other”);} } 程序运行后的输出结果是()。
(本题10.0分)A、Aother B、AB C、Bother D、ABother 学生答案:D 标准答案:B 解析:
得分:0 5.(单选题)有以下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES,否则输出NO。
在下划线处应填的是()。
#include main(){ int k;printf(“Enter a int number:”);scanf(“%d”,&k);if__________printf(“YESn”);else
pr intf(“NOn”);printf(“%dn”,k%3);}(本题10.0分)A、((k%3==0)||(k%7==0))B、(k/3==0)||(k/7==0)C、((k%3=0)||(k%7=0))D、((k%3==0)&&(k%7==0))学生答案:C 标准答案:A 解析:
得分:0 6.(单选题)若有以下程序#include main(){ int a=1,b=2,c=3,d=4;if((a=2)&&(b=1))c=2;if((c==3)||(d=-
1))a=5;printf(“%d,%d,%d,%dn”,a,b,c,d);} 则程序的输出结果是()。
(本题10.0分)A、2,2,2,4 B、2,1,2,-1 C、5,1,2,-1 D、1,2,3,4 学生答案:D 标准答案:C 解析:得分:0 7.(单选题)有如下程序段for(i=0;i<10;i++)
if(i<=5)break;则循环结束后i的值为()。
(本题10.0分)A、1 B、0 C、5 D、10 学生答案:D 标准答案:B 解析:得分:0 8.(单选题)有如下程序 #include main(){ char ch='A';for(;ch
} } 程序运行后的输出结果是()。
(本题10.0分)A、ABC B、012
C、abc
D、123 学生答案:A 标准答案:B 解析:得分:0 9.(单选题)#include main(){ int i=0;while(i<=1){i++;printf(“%d,”,i);} } 程序运行后的输出结果是()。
(本题10.0分)
A、0,1
B、0,1
C、1,2
D、1,2, 学生答案:D 标准答案:D 解析:得分:10 10.(单选题)#include main(){int x[9] ={1,2,3,4,5,6,7,8,9},i;for(i=0;i<9;i=i+2)printf(“%d,”,x[i]);} 程序运行后的输出结果是()。
(本题10.0分)A、1,3,5,7,9, B、13579 C、2,4,6,8, D、2468 学生答案:A
标准答案:A
课后练习作业3 1.(单选题)设有定义:int a,b[10],*c=NULL,*p;,则以下语句错误的是()。
(本题10.0分)A、p=a;B、p=b;C、p=c;D、p=&b[0];学生答案:D 标准答案:A 解析:得分:0 2.(单选题)有如下程序#include main(){ int x=13;printf(“%dn”,x+1);} 程序运行后的输出结果是()。
(本题10.0分)
A、11
B、13
C、14
D、12 学生答案:B 标准答案:C 解析:得分:0 3.(单选题)有如下程序#include main(){ char name[10]={'S','T','R','I','N','G'};name[3]='E';name[5]=’’;printf(“%sn”,name);} 程序运行后的输出结果是()。
(本题10.0分)A、STRENG B、STRIEG C、STREN D、STREN0
学生答案:A 标准答案:C 解析:得分:0 4.(单选题)#include main(){ int a=65;switch(a){ case 65: printf(“%c”,’A’);case 66:printf(“%c”,’B’);break default : printf(“%sn”,”other”);} } 程序运行后的输出结果是()。
(本题10.0分)A、Aother B、AB C、Bother D、ABother 学生答案:A 标准答案:B 解析:
得分:0 5.(单选题)有以下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES,否则输出NO。
在下划线处应填的是()。
#include main(){ int k;printf(“Enter a int number:”);scanf(“%d”,&k);if__________printf(“YESn”);else printf(“NOn”);printf(“%dn”,k%3);}(本题10.0分)A、((k%3==0)||(k%7==0))B、(k/3==0)||(k/7==0)C、
((k%3=0)||(k%7=0))D、((k%3==0)&&(k%7==0))学生答案:D 标准答案:A 解析:
得分:0 6.(单选题)若有以下程序#include main(){ int a=1,b=2,c=3,d=4;if((a=2)&&(b=1))c=2;if((c==3)||(d=-
1))a=5;printf(“%d,%d,%d,%dn”,a,b,c,d);} 则程序的输出结果是()。
(本题10.0分)A、2,2,2,4 B、2,1,2,-1 C、5,1,2,-1 D、1,2,3,4 学生答案:B 标准答案:C 解析:得分:0 7.(单选题)有如下程序段for(i=0;i<10;i++)
if(i<=5)break;则循环结束后i的值为()。
(本题10.0分)A、1 B、0 C、5 D、10 学生答案:D 标准答案:B 解析:得分:0 8.(单选题)有如下程序 #include main(){ char ch='A';for(;ch
} } 程序运行后的输出结果是()。
(本题10.0分)A、ABC B、012 C、abc D、123 学生答案:A 标准答案:B 解析:得分:0 9.(单选题)#include main(){ int i=0;while(i<=1){i++;printf(“%d,”,i);} } 程序运行后的输出结果是()。
(本题10.0分)
A、0,1
B、0,1
C、1,2
D、1,2, 学生答案:D 标准答案:D 解析:得分:10 10.(单选题)#include main(){int x[9] ={1,2,3,4,5,6,7,8,9},i;for(i=0;i<9;i=i+2)printf(“%d,”,x[i]);} 程序运行后的输出结果是()。
(本题10.0分)A、1,3,5,7,9, B、13579 C、2,4,6,8, D、2468 学生答案:A
标准答案:A
课后练习作业4 1.(单选题)一个C语言程序的基本组成单位是()。
(本题3.0分)A、主程序 B、子程序 C、函数 D、过程学生答案:C 标准答案:C 解析:得分:3 2.(单选题)关于程序中的注释,以下叙述正确的是()。
(本题3.0分)A、注释的内容必须放在一对/*和*/之间 B、注释必须置于所说明的语句前或语句后C、注释中间可以嵌套另一个注释D、注释内容错误会导致编译出错学生答案:B 标准答案:A 解析:
得分:0 3.(单选题)以下合法的数值型常量是()。
(本题3.0分)A、3.1415 B、“A” C、092 D、0xDH 学生答案:D 标准答案:A 解析:得分:0 4.(单选题)设有两行定义语句: int cas;float case;以下叙述正
确的是()。
(本题3.0分)A、两行定义语句都不合法 B、两行定义语句都合法 C、第1行语句不合法 D、第2行语句不合法学生答案:B 标准答案:D 解析:得分:0
则
5.(单选题)在C语言中, char类型数据所占的内存()。
(本题3.0分)A、1字节 B、2字节 C、3字节 D、4字节学生答案:D 标准答案:A 解析:得分:0
6.(单选题)已知:int i=6;则执行语句i++;后的i的值是()。
(本题3.0分)A、5 B、6 C、7 D、8 学生答案:C 标准答案:C 解析:得分:3
7.(单选题)若想给已定义为int型的变量a,b,c,d赋值为1,以下选项中错误的语句是()。
(本题 3.0分)A、d=1,c=d,b=c,a=b;B、a=b=c=d=1;C、a=1,b=a,c=b,d=c;D、a=b,b=c,c=d,d=1;学生答案:C 标准答案:D 解析:得分:0 8.(单选题)若有定义:char c;int d;程序运行时输入:c=1,d=2,能把字符1输入给变量c、整数2输入给变量d 的输入语句是()。
(本题3.0分)A、scanf(“c=%d d=%d”,&c,&d);B、scanf(“c=%c d=%d”,&c,&d);C、scanf(“c=%d,d=%d”,&c,&d);D、scanf(“c=%c,d=%d”,&c,&d);学生答案:B 标准答案:D 解析:得分:0
9.(单选题)设有定义:int a=0,b=1;以下表达式中,会产生“短路”现象,致使变量b的值不变的是()。
(本题3.0分)A、a++&&b++ B、a++||++b C、++a&&b++ D、+a||++b 学生答案:C 标准答案:A 解析:得分:0 10.(单选题)若在程序中变量均已定义成int类型,且已赋大于1的值,则下列选项中能正确表示代数式:表达式是:()。
(本题3.0分)A、1.0/a/b/c B、1/(a*b*c)C、1.0/a*b*c D、1/a/b/(double)c 学生答案:D 标准答案:A 解析:得分:0 的11.(单选题)书写表达式()。
(本题3.0分)A、(x>=y)||(y>=x)B、(x>=y>=z)C、(x>=y)!(y>=z)D、(x>=y)&&(y>=z)学生答案:D 标准答案:D 解析:得分:3 对应的C语言表达式12.(单选题)对于if(表达式)语句,以下叙述正确的是()。
(本题3.0分)A、“表达式”的值必须是逻辑值B、“表达式”的值可以是任意合法的数值C、在“表达式”中不能出现变量D、
在“表达式”中不能出现常量学生答案:B 标准答案:B 解析:得分:3
13.(单选题)以下程序段中,不能实现条件“如果a=b)?-10:10;B、if(a<=“" label=”“ style=”box-sizing: border-box;“> C、x=-10;if(a<=”“ label=”“ style=”box-sizing: border-box;“> D、if(a<=”“ label=”“ style=”box-sizing: border-box;“>
学生答案:C 标准答案:D 解析:得分:0 14.(单选题)与语句“while(!x)”等价的语句是()。
题 3.0分)A、while(x!=0)B、while(x==0)C、while(x!=1)D、while(~x)学生答案:B
(本
标准答案:B 解析:得分:3 15.(单选题)若变量已正确定义,则以下for循环:for(i=0;i<=10;i++);执行的次数是()。
(本题3.0分)A、8 B、9 C、10 D、11 学生答案:C 标准答案:D 解析:得分:0 16.(单选题)有字符数组a[80]和b[80],则正确的输出语句是()。
(本题3.0分)A、puts(a,b);B、printf(“%s,%s”,a[],b[]);C、putchar(a,b);D、puts(a);puts(b);学生答案:B
标准答案:D 解析:得分:0 17.(单选题)二维数组的元素在内存中存放的顺序是()。
(本题3.0分)A、按行顺序存放 B、按列顺序存放 C、按任意顺序存放D、按值的大小顺序存放学生答案:D 标准答案:A 解析:得分:0 18.(单选题)若有以下函数调用语句fun(a+b,c);则此函数调用中实参的个数是()。
(本题3.0分)A、1 B、2 C、3 D、4 学生答案:D 标准答案:B
解析:得分:0 19.(单选题)以下关于函数的叙述中正确的是()。
(本题3.0分)A、函数调用必须传递值B、函数必须要有形参C、函数必须要有返回值
D、函数形参的类型与返回值的类型无关学生答案:D 标准答案:D 解析:得分:3 20.(单选题)设有定义:int a,b[10],*c=NULL,*p;,则以下语句错误的是()。
(本题3.0分)A、p=a;B、p=b;C、p=c;D、p=&b[0];学生答案:D 标准答案:A 解析:
得分:0 21.(单选题)有如下程序#include main(){ int x=13;pri ntf(”%dn“,x+1);} 程序运行后的输出结果是()。
A、11 B、13 C、14 D、12 学生答案:D 标准答案:C 解析:得分:0 22.(单选题)有如下程序 #include main(){
(本题4.0分)
char
name[10]={'S','T','R','I','N','G'};name[3]='E';name[5]=’’;printf(”%sn“,name);} 程序运行后的输出结果是()。
(本题4.0分)A、STRENG B、STRIEG C、STREN D、STREN0 学生答案:C 标准答案:C 解析:得分:4 23.(单选题)#include main(){ int a=65;switch(a){ case 65: printf(“%c”,’A’);case 66:printf(“%c”,’B’);break default : printf(“%sn”,”other”);} } 程序运行后的输出结果是()。
(本题4.0分)A、Aother B、AB C、Bother D、ABother 学生答案:D 标准答案:B 解析:得分:0 24.(单选题)有以下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES,否则输出NO。
在下划线处应填的是()。
#include main(){ int k;printf(”Enter a int number:“);scanf(”%d“,&k);if__________printf(”YESn“);else printf(”NOn“);
printf(”%dn“,k%3);}(本题4.0分)A、((k%3==0)||(k%7==0))B、(k/3==0)||(k/7==0)C、((k%3=0)||(k%7=0))D、((k%3==0)&&(k%7==0))学生答案:D 标准答案:A 解析:得分:0 25.(单选题)若有以下程序#include main(){ int a=1,b=2,c=3,d=4;if((a=2)&&(b=1))c=2;if((c==3)||(d=-
1))a=5;printf(”%d,%d,%d,%dn“,a,b,c,d);} 则程序的输出结果是()。
(本题4.0分)
A、2,2,2,4
B、2,1,2,-1
C、5,1,2,-1
D、1,2,3,4 学生答案:C 标准答案:C 解析:得分:4 26.(单选题)有如下程序段for(i=0;i<10;i++)if(i<=5)break;则循环结束后i的值为()。
(本题4.0分)A、1 B、0 C、5 D、10 学生答案:D 标准答案:B 解析:得分:
0 27.(单选题)有如下程序 #include main(){ char ch='A';for(;ch
得分: 4 28.(单选题)#include main(){ int i=0;while(i<=1){i++;printf(“%d,”,i);} } 程序运行后的输出结果是()。
(本题4.0分)A、0,1 B、0,1 C、1,2 D、1,2, 学生答案:B 标准答案:D 解析:得分:0 29.(单选题)#include main(){int x[9] ={1,2,3,4,5,6,7,8,9},i;
for(i=0;i<9;i=i+2)printf(“%d,”,x[i]);} 程序运行后的输出结果是()。
(本题4.0分)A、1,3,5,7,9, B、13579 C、2,4,6,8, D、2468 学生答案:A 标准答案:A 解析:得分:4 30.(单选题)有以下程序 #include int fun(int a , int b){return a+b;} main(){ int x=2,y=3;printf(”%dn",fun(x,y));
} 程序的运行结果是()。
(本题4.0分)A、3 B、4 C、5 D、6 学生答案:D 标准答案:C
课后练习作业5 1.(单选题)完成C源程序编辑后,为了生成执行文件,C语言处理系统必须执行的步骤依次为()。
(本题3.0分)A、连接、编译 B、编译、连接 C、连接、运行 D、运行学生答案:A 标准答案:B 解析:得分:0 2.(单选题)以下叙述中错误的是()。
(本题3.0分)A、书写风格良好的程序执行效率高 B、书写风格良好的程序易读性好 C、C程序可以在一行上写多条语句 D、C程序允许将一条语句分写在多行上学生答案:D 标准答案:A 解析:
得分:0 3.(单选题)下列各项中,不正确的字符串常量是()。
(本题3.0分)A、’abc’ B、“12’12” C、“0” D、“ ” 学生答案:B 标准答案:A 解析:得分:0 4.(单选题)在C语言中,长整型数据占()个字节。
题3.0分)A、1 B、2 C、4 D、以上答案均不正确学生答案:D 标准答案:C 解析:得分:0
(本
5.(单选题)C语言程序中,运算对象必须是整型数的运算符是()。
(本题3.0分)A、&& B、/ C、% D、* 学生答案:A 标准答案:C 解析:得分:0
6.(单选题)假设所有变量均为整型,则表达式(a=2,b=5,b++,c=1)的值是()。
(本题3.0分)A、1 B、2 C、6 D、5 学。