A.单选题

2-1

设变量已正确定义并赋值,以下正确的表达式是_____。(1分)

A.x=y*5=x+z

B.int(15.8%5)

C.x=25%5.0

D.x=y+z+5,++y

答案:D

2-2

下列程序段中,非死循环的是( )。(1分)

A.

int i=100;while(1){ i=i%100+1;if(i>=100)break;
}

B.

int k=0;do{++k;}while(k>=0);

C.

int s=10;while(s) s++;

D.

for(   ;   ;    )

答案:A

2-3

以下运算符优先级按从高到低排列正确的是( )。(1分)

A.算术运算、赋值运算、关系运算

B.关系运算、赋值运算、算术运算

C.算术运算、关系运算、赋值运算

D.关系运算、算术运算、赋值运算

答案:C

2-4

判断a、b中有且仅有1个值为0的表达式是( )。(1分)

A.!(a*b)&&a+b

B.(a*b)&&a+b

C.a*b==0

D.a!=0 && !b

答案:A

2-5

若有语句int x=5, *p=&x;,则(*p)++相当于( )。(1分)

A.x++

B.p++

C.*(p++)

D.*p++

答案:A

2-6

若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, ____是正确的。(1分)

A.p2=p1

B.p2=**p1

C.p2=&p1

D.p2=*p1

答案:A

2-7

若有以下说明语句,

struct birthday
{int year; int month; int day;
}day1; 

则下面叙述正确的是( )。(1分)

A.day1为结构体类型名

B.struct birthday为结构体变量名

C.month为结构体变量名

D.day1为结构体变量名

答案:D

2-8

有以下结构体说明、变量定义和赋值语句:

struct SID
{ char name [10];int age;char sex;
}s[5],stu;

则以下 scanf函数调用语句有错误的是( )。(1分)

A.scanf("%s", s[0].name);

B.scanf("%d", &s[0].age);

C.scanf("%s", &stu.name);

D.scanf("%c", &stu.sex);

答案:C

2-9

有以下结构体说明、变量定义和赋值语句:

struct SID
{ char name [20];int age;char sex;
}students[10],stu;

则以下 scanf函数调用语句有错误的是( )。(1分)

A.scanf("%s", students[0].name);

B.scanf("%d", &students[0].age);

C.scanf("%s", &stu.name);

D.scanf("%c", &stu.sex);

答案:C

2-10

以下scanf函数调用语句中不正确的是__。

struct pupil
{char name[20];int age;int sex;
} pup[5], *p=pup;

(1分)

A.scanf("%s", pup[0].name);

B.scanf("%d", &pup[0].age);

C.scanf("%d", p->age);

D.scanf("%d", &(p->sex));

答案:C

< >程序填空题

5-1
输入学生姓名、平时成绩、期末成绩、平时成绩和期末成绩的百分比,计算综合成绩。

#include <stdio.h>

struct student{
    char name[20];
    int s1, s2; //s1:平时成绩 s2:期末成绩 
    int score; //综合成绩 
}; 
void modifyScore(struct student*pstu, int r1, int r2){
    pstu->score= (pstu->s1 * r1 + pstu->s2 * r2) /100;
}
int main() {
    int n, r1, r2;
    struct student stu;
    scanf("%s%d%d", stu.name, &stu.s1, &stu.s2);
    scanf("%d%d", &r1, &r2); 
    modifyScore(&stu, r1, r2);
    printf("%s %d\n", stu.name, stu.score);
    return 0;
}

5-2
一个字符串的长度等于字符串中包含的字符个数,不包括结尾的空字符。下面函数求字符串长度,请补充完整。

int strlen_v6(const char* s)
{
    const char* p = s;

while (*s!='\0')
        s++;

return s-p ;
}

fn:函数题

6-1 显示矩形(循环版) (10 分)

请编写函数,用循环方法显示矩形。

函数原型

void Rect(int width, int height, char symbol);

说明:参数 width 和 height 为矩形的宽和高,symbol 为显示字符。函数将在屏幕下显示宽度为 width、高度为 height 由字符 symbol 组成的矩形。若 width 或 height 小于等于0,则不输出。

要求:需要利用前面作业中的 Show 函数。

裁判程序

#include <stdio.h>void Show(int number, char symbol);
void Rect(int width, int height, char symbol);int main()
{int w, h;char s;scanf("%d %d %c", &w, &h, &s);Rect(w, h, s);return 0;
}....../* 你提交的代码将被嵌在这里 */

输入样例1

-3 -4 #

结尾无空行

输出样例1


结尾无空行

注:无输出。

输入样例2

20 5 *

结尾无空行

输出样例2

********************
********************
********************
********************
********************

结尾无空行


关联习题:重复显示字符(循环版)

代码:

void Rect(int width, int height, char symbol)
{if (width <= 0 || height <= 0) return;else{for (int i = 0; i < height; i++){for (int k = 0; k < width; k++)printf("%c", symbol);printf("\n");//说是结尾无空行,结果不空行不对,空行反倒对了}}
}

</>编程题 

7-1 左转弯 (8 分)

请编写程序,在屏幕上显示左转弯的路标。

输入样例


注:无输入

输出样例

// // //
\\ \\ \\

代码:

#include<stdio.h>
int main()
{printf("// // //\n\\\\ \\\\ \\\\");return 0;
}

7-2 本题要求编写程序,输入一个三位数,输出其个位数字、十位数字和百位数字。 (10 分)

本题要求编写程序,输入一个三位数,输出其个位数字、十位数字和百位数字。

输入样例:

在这里给出一组输入。例如:

152

结尾无空行

输出样例:

152 = 2 + 5*10 + 1*100

结尾无空行

代码:

#include<stdio.h>
int main()
{int n;scanf("%d",&n);int a,b,c;a=n/100,b=n/10%10,c=n%10;printf("%d = %d + %d*10 + %d*100",n,c,b,a);return 0;
}

7-3 分段函数 (10 分)

已知:y是x的函数,

当x<10时,y=-x;

当x=10时,y=31;

当x>10,且x<=100时,y=3x-7;

当x>100时,y= x2-5x+1;

输入格式:

任意输入一个int类型的整数x。

输出格式:

输出为一个整数,单独占一行,即x对应的函数值。

输入样例:

5

结尾无空行

输出样例:

-5

结尾无空行

代码:

#include<stdio.h>
#include<math.h>
int main()
{int x, y;scanf("%d", &x);if (x < 10) y = -x;else if (x == 10) y = 31;else if (x <= 100) y = 3 * x - 7;else y = x * x - 5 * x + 1;printf("%d", y);return 0;
}

7-4 最大公约数和最小公倍数 (10 分)

本题要求两个给定正整数的最大公约数和最小公倍数。

输入格式:

输入在一行中给出两个正整数M和N(≤1000)。

输出格式:

在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:

511 292

结尾无空行

输出样例:

73 2044

结尾无空行

鸣谢安阳师范学院段晓云老师和软件工程五班李富龙同学补充测试数据!

代码:

#include<stdio.h>
#include<math.h>
int main()
{int x, y;scanf("%d %d", &x, &y);int k,lowx,lowy;k=y, lowx = x,lowy = y;while (x % y != 0){k = y;y = x % y;x = k;}int sum;sum = lowx * lowy / y;printf("%d %d", y, sum);return 0;
}

7-5 求班级平均分 (10 分)

某班级若干个学生参加测验。在得到本次测验的成绩之后,确定该班级本次测验的平均分。

输入格式:

一个班级的若干个测验成绩( 0 到 100 之间的整数),以 −1 作为结束标记(结束标记不计算平均值)。

输出格式:

班级测验成绩平均分,结果保留两位小数。

若无输入成绩,则显示 No grades were entered

输入样例 1:

75 94 97 88 70 64 83 89 -1

输出样例 1:

在这里给出相应的输出。例如:

82.50

输入样例 2:

-1

输出样例 2:

在这里给出相应的输出。例如:

No grades were entered

代码:

#include<stdio.h>
#include<math.h>
int main()
{double score, sum = 0,t=0;while (scanf("%lf", &score), score >= 0)sum += score, t++;if (t == 0) printf("No grades were entered");else printf("%.2lf", sum / t);return 0;
}

7-6 逆序输出 (10 分)

输入n个数,然后把这n个数逆序输出。

输入格式:

测试数据有多组,处理到文件尾。每组测试数据在一行上首先输入整数n,接着输入n(n<=40)个整数。

输出格式:

对于每组测试,逆序输出n个数,每两个数据之间留一个空格。每两组测试数据之间留一个空行。

输入样例:

5 1 2 3 4 5
3 1 2 3

输出样例:

5 4 3 2 13 2 1

代码:

#include<stdio.h>
#include<math.h>
int main()
{int n,answer=0;while (scanf("%d", &n) != EOF){if(answer==1) printf("\n");int a[n];for (int i = 0; i < n; i++) scanf("%d", &a[i]);while (--n!=-1){printf("%d", a[n]);if(n>0) printf(" ");}answer=1;printf("\n");}return 0;
}

7-7 统计一行文本的单词个数 (12 分)

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

输入格式:

输入给出一行字符。

输出格式:

在一行中输出单词个数。

输入样例:

Let's go to room 209.

输出样例:

5

鸣谢用户 张麦麦 补充数据!

代码:

//这种题用标志变量很方便
#include<stdio.h>
#include<math.h>
#include<ctype.h>
int main()
{char a[10000] = { 0 };gets(a);int t = 1, i = -1,sum=0;while (a[++i] != '\0'){if (a[i] == ' '){t = 1;continue;}if (t == 1){t = 0;sum++;}}printf("%d\n", sum);return 0;
}

郑州轻工业大学2021-2022(1)期末模拟测试二答案相关推荐

  1. 郑州轻工业大学 2021-2022(1)期末模拟测试一 答案

    A:单选题: 2-1 在嵌套使用if语句时,C语言规定else总是().(1分) A.和之前与其具有相同缩进位置的if配对 B.和之前与其最近的if配对 C.和之前与其最近的且不带else的if配对 ...

  2. 郑州轻工业大学2021新生赛 2786: 这是一道数学题

    郑州轻工业大学2021新生赛 2786: 这是一道数学题 题目描述 一个数通过最小次数交换数位变成20的倍数.问最少交换次数是多少? 输入 一个正整数T(1<=T<=200),代表有T组输 ...

  3. 大一下学期C++期末模拟考试参考答案

    期末模拟考试参考答案 中国传媒大学2020春季学期,C++程序设计期末模拟答案 说在前面:以下并不是官方给出的答案,而是学生自制版,提交结果AC,但不能保证绝对的正确性,仅供大家参考.我在程序中以注释 ...

  4. 大学计算机基础实验指导试题,(大学计算机基础实验指导)模拟试题(二)参考答案...

    (大学计算机基础实验指导)模拟试题(二)参考答案 (非计算机专业A卷) 一.填空题(共20分,每空1分) 1.电子管2.分时系统.实时系统3..txt 4.主码 5.实体.参照.用户定义6.同轴电缆. ...

  5. 2021海口高考调研成绩查询,2021年海口市高考调研测试附答案.doc

    2021年海口市高考调研测试附答案.doc 2021年海口市高考调研测试英语科试题注意事项1. 答卷前,考生务必将自己的姓名.考生号等填写在答题卡和试卷指定位置上.2. 回答选择题时,选出每小题答案后 ...

  6. 自考c语言程序阅读题,自考C语言程序设计模拟试题二答案.DOC

    本资料由广州自考网收集整理,更多自考资料请登录 HYPERLINK "http://www.gzzk.cc" www.gzzk.cc下载 再长的路,一步步也能走完,再短的路,不迈开 ...

  7. 《基础会计学》期末模拟试题及答案

    <基础会计学>期末模拟试题(一) 一.单选题(本类题共15分,每题1.5分) 1.资产是企业(C )能以货币计量的经济资源. A拥有 B控制 C.A或B  D.A和B 2.根据福利人员工资 ...

  8. 2021年计算机网络期末考试题,2021年计算机网络期末考试试题及答案-20210515145802.doc-原创力文档...

    计算机网络期末考试试题及答案 填空题(每空 1 分,共 30 分) 1.在计算机网络定义中,一种计算机网络包括多台具备自治_功能计算机:把众多计算机有机连接起来要遵循规定商定和规则,即 通信合同:计算 ...

  9. 《程序猿和攻城狮》 --南京大学软件学院导学课 测试二答案

    中国大学MOOC <程序猿和攻城狮> --南京大学软件学院导学课 测验与作业 软件工程师和软件工程团队 测试二 软件工程最为本质的工作是 ___ ? 下面哪一个不是判定软件产品成功的必要条 ...

  10. 2022级郑州轻工业大学学生平台管理系统期末设计(最终版v3.0)

    话不多说先上源码,一会有哪些bug我再给你们一一叙述 #include <stdio.h> #include<conio.h> #include<stdlib.h> ...

最新文章

  1. 基于新型忆阻器的存内计算原理、研究和挑战
  2. 表 合并字段_多工作表动态合并,其实很简单
  3. 13.4 对锁和字段风格的事件的微小改变
  4. Python内置函数(44)——len
  5. mysql忘记密码如何修改
  6. 显著增加bash交互舒适度的.inputrc
  7. feign一个接口多个方法_spring cloud 建一个服务消费者client-feign(最好用这种方式)...
  8. Python中的进程间通信
  9. 八个老师随机分配三个办公室
  10. centos安装ipconfig和telnet命令
  11. centos 需要哪些常用端口_Docker 最常用的镜像命令和容器命令
  12. jdbc原子事务的实现
  13. 程序设计实习MOOC / 程序设计与算法(二)第二周测验(2018春季)
  14. 洛谷P4012 深海机器人问题(费用流)
  15. Linux学习私人笔记-Vim
  16. 乒乓球单循环赛_乒乓球单循环赛
  17. 对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会
  18. java操作数据库步骤_java数据库操作基本流程
  19. 接口分析--详细解读微博接口获取
  20. BUUCTF-千层套路(python脚本)

热门文章

  1. 【网络】如何判断网络达到瓶颈
  2. 金融经济学二十五讲--徐高
  3. 虚拟机的服务器显示全屏,虚拟机怎么实现全屏显示
  4. ASP程序性能测试报告
  5. SpringBoot集成Nacos
  6. recovery 工作流程
  7. 几个经典的数字电路设计
  8. IO流读取文件拒绝访问
  9. 软件工程师的核心竞争力是什么
  10. 自制药枕:边做梦边养生