C-4练习题

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

1. C 程序是由()构成的。

A.常量

B.变量

C.运算符

D. 函数

2.下列合法的标识符是()

A. case

B. Li-da-yong

C. 3con

D. $a

3. 以下描述不正确的是()

A.宏名无类型

B.宏替换不占用运行时间

C.宏名必须用大写字母表示

D.宏替换只是字符替换

4. 以下正确的字符常量是()。

A. '\412'

B. 255

C. '\108'

D..'\'

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

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.定义 double i=3.5.j=5.5;则表达式(int)i+j的值是()

A.9.0

B.8.5

C.8

D. 8.0

7. 若 int x=6;则x+=x-=x*=x; x 的值为()。

A.0

B.-60

C. 60

D.-24

8.已有定义“int x=3,y=4,z=5;”,则表达式“!(x+y)+z-1&&y+z/2”的值是()。

A.6

B.0

C.2

D.1

9.对于循环while(le)语句,!e等价于( ).

A. e==0

B.e! =0

C.e==1

D.e! =1

10. 使用“scanf("X=%f,y=%f",&x,&y)”,要使X,y均为1.25,正确的输人是( )。

A.1.25,1.25

B. 1.25 1.25\

C. X=1.25,y=1.25

D.X=1.25y=1.25

11.设变量已正确定义,以下( )与其它switch语句不等价。

A

        switch(op){

                case '+': printf("%dn", valuel + value2); break;

                case '-': printf("%d\n", valuel - value2); break;

                case "*': printf("%din", valuel *value2); break;

                 default: printf("Errorln"); break;

        }

B

        switch(op){

                default: printf("Errorin"); break;

                case "*': printf("%din", valuel *value2); break;

                case '-': printf("%dn", valuel - value2); break;

                case '+': printf("%dun", valuel + value2); break;

        }

C.

        if(op != '+'&& op!='-'&& op!= '*'){

                printf("Errorln");

        }else{

                switch(op){

                        case '+': printf("%dn", valuel + value2): break;

                        case '-': printf("%din", valuel - value2); break;

                        case "*': printf("%dn", valuel *value2); break;

                }

        }

D.

        switch(op){

                case '+': printf("%dn", valuel + value2); break;

                case '-': printf("%dn", valuel - value2); break;

                case '*': printf("%din", valuel*value2); break;

}

12. 若变量已正确定义,对以下while循环结束条件的准确描述是()。

        flag = 1;

        denominator = 1;

        item = 1.0;

        pi=0;

        while(fabs(item) > 0.0001){

                item = flag*1.0/ denominator;

                pi = pi + item;

                flag=-flag;

                denominator = denominator +2;

}

A. item的绝对值不大于0.0001

B. item的绝对值不小于0.0001

C. item的绝对值等于0.0001

D. item的绝对值不等于0.0001

13.若有定义,int a[10];,则对数组 a元素的正确引用是()

A.a[10]

B. a[3.5]

C. a(5)

D. a[10-10]

14. 下面的程序段将输出()

double a[J[5]={(1, 2,3), (4,5), (6}};

printf("%d\n", sizeof(a));

A.48

B.72

C.88

D. 120

15,有两个字符数组a,b,则以下正确的输入语句是()

A. gets(a,b);

B. scanf("%s%s",a,b);

C. scanf("%s%s",&a,&b);

D. gets("a"),gets("b");

16.C语言程序中,当调用函数时()

A.实参和形参各占一个独立的存储单元

B.实参和形参共用一个存储单元

C.可以由用户指定是否共用储存单元

D.由系统自动指定是否共用存储单元

17.关于C语言中的函数,下列说法错误的是()

A.在不同的函数中可以使用相同名称的变量。

B.函数中的形式参数是在栈中保存的。

C.在一个函数内定义的变量只在本函数范围内有效。

D.在一个函数内的复合语句中定义的变量在本函数范围内有效。

18. 若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于()。

A.p++

B.x++

C.+(p++)

D. &x++

19. 定义下列结构体数组:

struct st {char name[15);int age;a[10)=("ZHAO",14, "WANG",15, "LIU",16, "ZHANG",17);

执行语句print["%d,%c",a[2].age,*(a[3].name+2)的输出结果为()。

A. 15, A

B. 16, H

C. 16,A

D. 17, H

20.若有以下说明inta]=(0,1,2,3,4,5,6,7,8,9),*p=a,i:,且0<=i<10,则对数组元素的错误引用是()

A.*(a+i)

B. alp-ati]

C. p+i

D.*(&ai])

二、程序阅读题(本大题共 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 827269

2________

#include <stdio.h>
double f1(double x, int n)
{if(n == 1) return x;else return f1(x, n-1)*x;
}
void f2(char cc, int n)
{printf("%c",cc);if(n> 1) f2(cc+1, n-1);
}void main(){printf("%.0f\n", f1(2.0, 1));printf("%.0f\n", f1(2.0, 3));f2('d',1);printf("\n");f2('b',4);printf("\n");}

3________

#include<stdio.h>
int main()
{int a,b,c,d;a=c=0;d=20;if(a) d=d-10;else if(!b)if(!c) d=25;else d=15;printf("d=%din",d);return 0;
}
4___________
#include<stdio.h>
int main()
{int x[]={0,1,2,3,4,5,6,7,8,9};int s,i,*p;s=0;p=&x[0];for(i=1;i<10;i+=2)s+=*(p+i);printf("sum=%d",s);return 0;
}

5___________

#include <stdio.h>
struct date
{int year;int month;int day;};void func(struct date *p){p->year = 2000;p->month =5;p->day = 22;}int main(){struct date d;d.year = 1999;d.month = 4;d.day= 23;printf("%d,%d,%d\n",d.year, d.month, d.day);func(&d);printf("%d,%d,%d\n",d.year, d.month, d.day);}

三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)

1. 以下程序的功能是将无符号八进制数字构成的字符串转换为十进制整数。例如输入的字符串为“556",则输出十进制整数366

#include <stdio.h>
void main()
{char *p,s[6];int n;_______gets(p);n=*p-'0';while (______!=10)n=_________;printf("%d\n", n); return 0;
}

2.求fibonacci数列问题,打印前20项数列,每行打印4个数。

#include<stdio.h>int main(){int i;int f[20]={__________};for (i=2;i<20;i++)f[i]=_______;for ( _________;i<20;i++){if(_______)printf("\n");printf("%d ",f[i]);}return 0;}

四、编程题(本大题共 3小题,每小题 15分,共 45分。请在答题纸的相应位置上作答。)

1,根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输人在一行中给出2个4位正整数,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

2.输人一行字符,统计其中的数字字符、大写字母、小写字母、空格、其他字符分别有多少个。

3. 编写函数 char*str(char *s,char x),函数功能:在给定的字符串s中寻找一个特定的字符x,若找到x,则返回x在s中的第一次出现的地址。在主函数中把s中该字符和该字符之前的字符按逆序输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DAY54 392.判断子序列 + 115.不同的子序列

392.判断子序列 题目要求&#xff1a;给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是…

创造者设计模式

Bike package com.jmj.pattern.builder.demo01;public class Bike {private String frame;//车架private String seat;//车座public String getFrame() {return frame;}public void setFrame(String frame) {this.frame frame;}public String getSeat() {return seat;}public…

华纳云:WordPress如何制作CMS栏目块

WordPress作为一个强大的内容管理系统(CMS)&#xff0c;允许你自定义并创建各种栏目块。你可以使用插件、主题功能或自定义开发来实现这一点。下面是一些基本方法&#xff1a; 1. 使用页面模板和自定义字段 创建自定义页面模板&#xff1a; 创建一个新的页面模板&#xff0c;例…

Windows客户端开发框架WPF简介

一、WPF简介 WPF的全称是Windows Presentation Foundation&#xff0c;WPF是 Microsoft 提供的一种用于构建桌面应用程序的 UI 框架。它包含在 .NET Framework 中&#xff0c;从 .NET 3.0 版本开始就被引入。 以下是一些关于 WPF 的关键特性&#xff1a; 1. XAML&#xff1a…

【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效

如题&#xff0c;git使用中突然报错 ssh:connect to host github.com port 22: Connection timed out 通过查阅各种资料&#xff0c;得知原因可能是由于电脑的防火墙或者其他网络原因导致ssh连接方式 端口22被封锁。 解决方法 一&#xff1a;抛弃ssh连接方式&#xff0c;使…

深度学习实战59-NLP最核心的模型:transformer的搭建与训练过程详解,手把手搭建与跑通

大家好,我是微学AI,今天给大家介绍一下深度学习实战59-NLP最核心的模型:transformer的搭建与训练过程详解,手把手搭建与跑通。transformer是一种基于自注意力机制的深度学习模型,由Vaswani等人在2017年的论文《Attention is All You Need》中提出。它最初被设计用来处理序…

centos 6.10 编译 zstd 库

从 github 上下载最新的源码。下载链接 进入到 zstd-dev 目录下 执行下面命令 cd /build/cmake mkdir build && cd build cmake .. make我遇到了报错&#xff1a; timefn.c:(.text0x5e): undefined reference to clock_gettime原因是 centos 6.10 的 glibc 版本太老…

什么叫做一站式解决方案?

一站式解决方案&#xff08;One-stop solution&#xff09;是指为客户提供从项目起始到完成的全过程服务的经营模式。这种方案通常由某个服务提供商或公司实施&#xff0c;目的是解决客户的各种问题&#xff0c;同时省去客户寻找多个供应商合作的麻烦。一站式服务可能包括咨询、…

【luckfox】0、开发环境搭建

前言 本章简单介绍如何搭建luckfox的开发环境。 一、抓取luckfox源码 需要提前准备好ubuntu环境。 git clone https://github.com/LuckfoxTECH/luckfox-pico.git二、编译 youkaiubuntu:/home/luckfox/luckfox-pico$ ./build.sh lunchyoukaiubuntu:/home/luckfox/luckfox-p…

python数据处理作业11:建一个5*3的随机数组和一个3*2的数组,其元素为1,2,3,4,5,6,求两矩阵的积

每日小语 打碎的杯子&#xff0c;烫伤的手&#xff0c;对菩萨是堪忍&#xff0c;因为他在里面得悟甚深之法&#xff0c;心生欢喜。 可是对一般人来说&#xff0c;一生何止打破千百个杯子&#xff1f;何止烫伤过千百次手&#xff1f;他只是痛苦地忍受&#xff0c;只记得下次要…

Linux--线程概念+线程控制

1.什么是线程 相对于进程而言&#xff0c;进程是承担资源调度的实体&#xff0c;线程在进程内部运行&#xff0c;是操作系统调度的基本单位。 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部的控制序列…

【C#学习】文件操作

文章目录 常见操作拷贝文件检测文件夹是否存在并创建判断文件是否存在删除文件夹下的所有文件保留文件夹获取指定目录下的所有文件名删除 常见操作 拷贝文件 System.IO.File.Copy(sourcePath, targetPath); 检测文件夹是否存在并创建 //if directory not exit,then establis…

02-Spring中Bean的8种获取方式

Bean的获取方式 常见获取方式 虽然Spring为Bean对象的创建提供了多种实例化方式如由前期xml配置逐步演化成注解配置,但本质都是通过反射机制加载类名后创建对象,最后交给Spring管控 Spring还开放出了若干种可编程控制的bean的初始化方式&#xff0c;通过分支语句由固定的加载…

【Amazon】云上探索实验室—了解 AI 编程助手 Amazon Codewhisperer

文章目录 一、前言&#x1f4e2;二、关于云上探索实验室&#x1f579;️三、领学员需要做什么&#xff1f;✴️四、领学员能获得什么&#xff1f;&#x1f523;五、学课通道入口&#x1f447;1️⃣CSDN平台2️⃣网易云课堂3️⃣Skill Builder 平台 六、活动详情链接 一、前言&a…

Qt QWebEngine 加载网页及交互,实现C++与JS 相互调用

目录 前言1、QtWebEngine介绍2、安装3、核心类介绍3.1 QWebEngineView3.2 QWebEnginePage3.3 QWebEngineProfile3.4 QWebEngineHistory3.5 QWebEngineSettings 4、加载网页5、C调用JS5.1 无返回值5.2 有返回值 6、JS调用C6.1 新建WebObject 类继承自QObject。6.2 将WebObject对…

spring boot validation使用

spring-boot-starter-validation 是 Spring Boot 中用于支持数据验证的模块。它建立在 Java Validation API&#xff08;JSR-380&#xff09;之上&#xff0c;提供了一种方便的方式来验证应用程序中的数据。以下是使用 spring-boot-starter-validation 的基本方法&#xff1a; …

11 Go的作用域

概述 在上一节的内容中&#xff0c;我们介绍了Go的映射&#xff0c;包括&#xff1a;声明映射、初始化映射、操作映射等。在本节中&#xff0c;我们将介绍Go的作用域。在Go语言中&#xff0c;作用域是指变量的可见性范围&#xff0c;它定义了变量在程序中的生命周期和可访问性。…

c语言从入门到实战——基于指针的数组与指针数组

基于指针的数组与指针数组 前言1. 数组名的理解2. 使用指针访问数组3. 一维数组传参的本质4. 冒泡排序5. 二级指针6. 指针数组7. 指针数组模拟二维数组 前言 指针的数组是指数组中的元素都是指针类型&#xff0c;它们指向某种数据类型的变量。 1. 数组名的理解 我们在使用指针…

MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:

show dbs&#xff1a;列出所有数据库use db_name&#xff1a;切换到指定的数据库db.dropDatabase()&#xff1a;删除当前数据库db.createCollection("collection_name")&#xff1a;创建集合db.collection_name.insert(document)&#xff1a;向指定集合插入数据db.co…

手机厂商参与“百模大战”,vivo发布蓝心大模型

在2023 vivo开发者大会上&#xff0c;vivo发布自研通用大模型矩阵——蓝心大模型&#xff0c;其中包含十亿、百亿、千亿三个参数量级的5款自研大模型&#xff0c;其中&#xff0c;10亿量级模型是主要面向端侧场景打造的专业文本大模型&#xff0c;具备本地化的文本总结、摘要等…