C_5练习题

news/2025/2/2 1:49:19/

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

  1. 下列叙述中错误的是()。

A.计算机不能直接执行用C语言编写的源程序
B.C程序经C编译程序编译后,生成扩展名为obj的文件是一个二进制文件
C.扩展名为obj的文件,经连接程序生成扩展名为exe的文件是一个二进制文件
D.扩展名为obj和exe的二进制文件都可以直接运行

  1. 下列叙述中错误的是()

A.用户所定义的标识符允许使用关键字
B.用户所定义的标识符应尽量做到“见名知意”
C.用户所定义的标识符必须以字母或下划线开头
D.用户定义的标识符中、大、小写字母代表不同标识

  1. 以下正确的叙述是()

A.宏替换不占用运行时间,只占用编译时间
B.在程序的一行中可以出现多个有效的预处理命令行
C.使用带参数宏定义时,参数的类型应与宏定义时一致
D.宏定义不能出现在函数内部

4.下面正确的字符串常量是()

A. ‘a’
B. ‘376’
C. “\n”
D. 376

  1. 下面叙述中正确的是()。

A.若int a=3, b=2,c=1;f=a>b>c;则f值为真
B.若int m=0, n=1, a=1, b=2,c=3;(m=a>b)&&(n=c>4),则n值为真
C.若int a=2,b=3,c=1;c=a/b;则c的值为真
D.若int a=2,b=3;表达式a>b?a:0的值为真

6.对于变量定义:int a,b=0;下列叙述中正确的是()

A.a的初始值是0,b的初始值不确定。
B.a的初始值不确定,b的初始值是0。
C.a 和b的初始值都是0。
D.a 和b的初始值都不确定。

7,判断变量x、y中有且只有1个值为0的表达式为()

A.!(xy)&&x+y
B. (x
y)&&x+y
C.x*y0
D.x
0&&y!=0

8·假定w、x、y、z、m均为int型变量,有如下程序段:
int w=1,x=2,y=3,z=4,m;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
则该程序运行后,m的值是()

A.4
B.3
C. 2
D. 1

9,设字符型变量x的值是064,表达式~x^x<2&x的值对应的8进制值是()。

A.333
B. 0333
C.x333
D.020

10.若变量已正确定义并赋值,表达式()不符合C语言语法。

A.5&&3
B. int(5.5)
C. +a
D. a=b=c=3

11.阅读以下程序段,如果从键盘上输入1234567<回车>,则程序的运行结果是()
int i,j;
scanf(“%3d%2d”,&i,&j);
printf(“i = %d, j = %d\n”,i,j);

A. i = 123, j= 4567
B. i = 1234, j= 567
C. i=1, j=2
D. i=123, j=45

  1. 请阅读以下程序段:
    int a=5, b=0, c=0;
    if (a=b+c)
    printf(“Equal!\n”);
    else
    printf(“Not Equal!\n”);
    以上程序()

A.有语法错误不能通过编译
B.可以通过编译但是不能通过连接
C.输出 Not Equal!
D.输出Equal!

  1. 以下的 for 循环次数是()
    int x,y;
    for(x=0,y=0;(y!=123)ll (x<4);x++);

A.执行 3 次
B.执行4次
C.循环次数不定
D.是无限循环

  1. 合法的数组定义语句是()

A. int a=“string”;
B. int a[5]={0,1,2,3,4,5};
C. char a=“string”;
D. char a[]=“string”;

15.下列程序的运行结果是( )。

int main()
{int a[3][3]={{1,2,3}, {4,6,2}, {9,3,6}}, s=0;int i, j, k=1;for (i=0; i<3; i++){for (j=0; j<3; j++)a[i][i]=a[i][j] /k;k++;}for (i=0; i<3; i++)s+=a[i][i];printf ("%d", s);return 0;}

A.3
B.6
C.7
D.14

16.判断字符串a和b是否相等,应当使用()

A. if (a==b)
B. if (a=b)
C. if (strcpy(a,b))
D. if (stremp(a,b)==0)

17,以下描述错误的是()。

A.函数调用可以出现在执行语句中
B.函数调用可以出现在一个表达式中
C.函数调用可以作为一个函数的实参
D.函数调用可以作为一个函数的形参

18.以下哪个定义中的p不是指针,请选择恰当的选项()

A. char **p;
B. char (*p)[10);
C. char *p[6);t
D.给出的三项中,p都是指针

19,若程序中有下面的说明和定义

struct abc
{int x;char y;}struct abc s1,s2;

A.编译出错,结构体定义完要加分号。
B.程序将顺利编译连接执行
C.能顺利通过编译连接但不能执行
D.能顺利通过编译但连接出错

20·已知字符0的ASCI码为十六进制的30,下面程序的输出结果是()。

#include <stdio.h>
int main()
{union{unsigned char c;unsigned int i[4];}z;z.i[0]=0x46;z.i[1]=0x56;printf("%d",z.i[1]);return 0;}

Α.6
B9
C.70
D.86

二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。
1__________

#include <stdio.h>
void main(){int i,score;char grade;for(i=1;i<7;i++){scanf("%d", &score); score = score/10; switch(score) {case 10: case 9: case 8: case 7: case 6: grade = 'P'; break;default:grade = 'F'; break;putchar(grade);}}printf("Thanks");
}
#输入100 90 50 82 72 69

2__________

#include <stdio.h>
int x;int f(int n) {int x=1; return x;}void main(){ printf("%d %d", f(3),x);}

3_______

#include <stdio.h> 
int main()
{int i,s=0; for(i=0;i<=10;i++){int s=2*i;s=s+i;}printf("s=%d\n",s);printf("i=%d\n",i); return 0;
}

4_______

#include <stdio.h>
int main()
{int i,j,k;for(i=1;i<=4;i++){for(j=1;j<=2*i-1;j++)printf("*");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}return 0;
}

5_________

#include <stdio.h>
f(int b[],int n)
{int i,r=1;for(i=0; i<=n; i++)r=r*b[i];return r;
}
int main()
{   int x,a[] ={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);return 0;}

三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)1. 求100—999之间的水仙花数之和(水仙花数是指一个三位数的各位数字的立方和是这个数本身,如:153=13+53+3^3)。
#include <stdio.h>

int main(){int d1,d2,d3; int n; int sum; sum = 0; for(_____){for(_____){for (_____){n=dl*100 +d2*10+d3; if(_____)){sum += n;}}}
}
printf("%dn",sum); 
return 0;
}

2,将给定的n个整数存入数组后,再按逆序输出数组中的元素。

#include <stdio.h>
#define MAXN 10
int main(){int i, first, n;int num[MAXN];scanf("%d", &n);for(i = 0; i <n; i++)scanf("%d", &num[i]);first = 1;for(_______){if(_______){printf("%d", num[i);_________;}else{printf(" %d", num[i]);}}printf("\n");return 0;
}

四、编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)1.编写程序,计算下列分段函数f(x)的值:

![在这里插入图片描述](https://img-blog.csdnimg.cn/77380ea06b9244c39beb847c79ad177c.png)

2.编写程序输出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1^3 + 5^3 + 3^3。

3,编写程序:给定某个正整数n,求其素因子分解结果。所谓素因子分解就是找这个数的所有约数并且约数是素数。


http://www.ppmy.cn/news/1212704.html

相关文章

大数据-之LibrA数据库系统告警处理(ALM-12039 GaussDB主备数据不同步)

告警解释 GaussDB主备数据不同步&#xff0c;系统每10秒检查一次主备数据同步状态&#xff0c;如果连续6次查不到同步状态&#xff0c;或者同步状态异常&#xff0c;产生告警。 当主备数据同步状态正常&#xff0c;告警恢复。 告警属性 告警ID 告警级别 可自动清除 12039…

Python使用SQLAlchemy操作sqlite

Python使用SQLAlchemy操作sqlite sqllite1. SQLite的简介2. 在 Windows 上安装 SQLite3. 使用SQLite创建数据库3.1 命令行创建数据库3.2 navicat连接数据库 4.sqlite的数据类型存储类SQLite Affinity 类型Boolean 数据类型Date 与 Time 数据类型 5. 常用的sql语法**创建表(CREA…

Some/IP学习笔记

目录 1.概述 2.SOME/IP 报文格式 3.数据结构序列化 1.概述 SOME/IP全称为Scalable Service Oriented MiddlewarE Over IP&#xff0c;是车载以太网技术中的核心内容&#xff0c;它为网络提供了面向服务的通信方式。一个服务可以包含0个或者多个事件&#xff08;events&#…

机器人规划算法——将多边形障碍物离散到地图像素点上?

问题一&#xff1a;如何判断一个点是否在多边形区域内&#xff1f; 方法1&#xff1a;向量叉乘判别法 设多边形的顶点依次为A1&#xff0c;A2…An&#xff0c;要判断的点为P&#xff0c;那么分别计算向量PA1叉乘向量PA2&#xff0c;向量PA2叉乘向量PA3&#xff0c;…&#xff…

【硬件测试】1.硬件自动化测试的初步了解与分析

1.针对自动化测试&#xff0c;有什么了解&#xff1f; 硬件自动化测试是一种利用自动化工具和设备来执行硬件测试的方法。它可以帮助提高测试效率、减少人力成本、提高测试覆盖率和一致性。 以下是一些硬件自动化测试的常见内容&#xff1a; 功能测试&#xff1a;验证硬件设备的…

MySQL中外键的使用及外键约束策略

一、外键约束的概念 外键约束&#xff08;FOREIGN KEY,缩写FK是数据库设计的一个概念&#xff0c;它确保在两个表之间的关系保持数据的一致性和完整性。 外键是指表中的某个字段的依赖于另一张表中某个字段的值&#xff0c;而被依赖的字段必须具有主键约束或者唯一约束&#…

No180.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

Leetcode—70.爬楼梯【简单】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—70.爬楼梯 动态规划思想 动态规划算法的本质是使用空间换时间&#xff0c;通过计算和记录状态来得到最优解。 在分析动态规划类题目时&#xff0c;我们可以通过3个问题对题目进行基本的拆解。 1.问题是否分阶段&…