c语言程序设计框架题,东北大学C语言程序设计复习题

2024-03-20 11:59

本文主要是介绍c语言程序设计框架题,东北大学C语言程序设计复习题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

5ee8b09c7f2a2e7b5c562e0d9f77566d.png

第一部分(填空题):

1. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。

A.大写字母 B.连接符 C.数字字符 D.下划线

答案:B

2. 下面关于计算机正确的是( )。

A.计算机由硬件系统和软件系统两部分构成

B.只要有硬件系统,计算机就能工作

C.计算机只能处理文本信息

D.计算机只能处理计算问题

答案:A

3. ( )是c语言提供的合法的数据类型关键字。

A.Int B.long C.Char D.integer

答案:B

4. 面向过程的高级语言包括( )。

A.C,JAVA B.C,BASIC C.C++.NET,ASP D.C,VB

答案:B

5. 软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。

A.编译程序 B. 操作系统 C.教务管理系统 D.汇编程序

答案:C

6. 以下选项中关于C语言常量的叙述错误的是()。

A.所谓常量,是指在程序运行过程中,其值不能被改变的量

B.常量分为整型常量、实型常量、字符常量和字符串常量

C.常量可分为数值型常量和非数值型常量

D.经常被使用的变量可以定义成常量

答案:D

7. 下面描述中正确的是()。

A.C语言提供了专门的输入/输出语句

B.C语言调用输入/输出函数时需要使用include命令包含头文件

C.C语言可以直接使用输入/输出函数

D.输入/输出函数所在的头文件是stdlib.h

答案:B

8. 假设有char型变量c1,c2,执行下面程序段:

c1=gatchar();

c2=gatchar();

printf(“c1=%c,c2=%c\n”,c1,c2);

如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。

A. ab B.ab

B. C.ab D.ab

答案:A

9. 下面描述中正确的是()。

A.printf()函数的输出列表项只允许是变量

B.printf()函数的输出列表项可以是常量、变量以及表达式

C.printf()函数输出列表项也可以是另一个printf()函数

D.printf()函数的输出列表项之间用空格分隔

答案:B

10. 假设有:int a,b; scanf("%d,%d",&a,&b);

为了得到a和b分别为10和20,从键盘正确输入数据的是()。

A.1020 B.1020

C.10,20 D.10,20,

答案:C

11. 下面说法正确的是()。

A.表达式计算时要考虑运算符的优先级和结合性

B.表达式计算需要考虑运算符的优先级

C.表达式计算时需要考虑运算符的结合性

D.括号()可以改变运算符的优先级

答案:A

12. 下面说法正确的是()。

A.负数参与“/”和“%”运算时,其结果与C89或C99的标准有关

B.C语言的“/”和“%”运算可以写成5/0或5%0的形式

C.赋值运算要求他的左操作数可以是变量、常量或另一个表达式

D.表达式(x=a>b)&&(y=c>d)是错误的写法

答案:A

13. 假设有下面程序段:int a;float b; b=a=4.5;

下面错误的描述是()。

A.变量a的值是4 B.变量b的是4.0

C. 赋值表达式a=4.5的结果值是4 D.变量b的值是4.5

答案:D

14. 假设a,b,c,x,y均为int型,下面说法正确的是()。

A.表达式“a+=2”等价于表达式“a=a+2”

B.表达式“a*=b+c”等价于表达式“a=a*b+c”

C.表达式“y=x++”等价于表达式“x++,y=x”

D.表达式“y=x++”等价于表达式“y=x,x++”

答案:D

15. 逻辑运算符两侧运算对象的数据( )。

A.只能是0或1 B.只能是0或非0正数

C.只能是整型或字符型数据 D.可以是任何类型的数据

答案:D

16. sizeof(float)是()。

A.一个双精度型表达式 B. 一个整型表达式

C.一个函数调用 D.一个不合法的表达式

答案:B

17. 结构化程序的实现由( )组成程序逻辑。

A. 顺序结构 B. 分支结构

C. 循环结构 D. 顺序结构、分支结构和循环结构

答案:D

18. 假设变量a为整型量,语句if (a!=0);和语句if(a);相比较,正确答案( )。

A. 两者作用不同 B. 两者作用等价

C. 两者作用相反 D. if(a)语法错

答案:B

19. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与( )。

A.缩排位置相同的if配对

B. 其之前最近且不带else的if配对

C. 其之前最近的if配对

D.第一个if配对

答案:B

20. 阅读下面程序:该程序( )。

#include "stdio.h"

main()

{

int x=-10, y=5, z=0;

if (x=y+z)

printf("***\n" );

else

printf("$$$\n");

}

A. 有语法错不能通过编译

B. 输出***

C. 可以通过编译但不能通过连接

D. 输出$$$

答案:B

21. 下面说法错误的是()。

A. 当条件满足时重复执行某一段程序(代码)就是循环

B.循环体只有一条语句时,可以不写成复合语句形式

C.while语句、for语句可以相互转换

D.do...while语句可以实现前判断结构

答案:D

22. 下面说法错误的是()。

A.break语句可退出循环体而执行该循环语句后面的语句

B.break语句可以出现在switch语句和循环语句中

C.continue语句只能出现在循环结构中

D.goto语句即可以从函数体跳出,也可以跳入函数体中

答案:D

23. 以下不是无限循环的是( )。

A. for(y=6,x=1;x

C. while(-5) x++; D. for(i=20; ; i--) sum+=i;

答案:A

24. 对以下说明语句的正确理解是( )。

int a[10]={6,7,8,9,10};

A. 将5个初值依次赋给a[1]至a[5]

B. B. 将5个初值依次赋给a[0]至a[4]

C. 将5个初值依次赋给a[6]至a[10]

D. 因为数组与初值的个数不相同,所以此语句不正确

答案:B

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

A. a==b B. a=b C. strcpy(a,b) D. strcmp(a,b)

答案:D

26.在c语言的函数调用过程中,如果函数funA调用了函数funB,函数funB有调用了函数funA,则( )。

A. 称为函数的直接递归 B. 称为函数的间接递归

C. 称为函数的递归定义 D. c语言不允许这样的递归形式

答案:B

27.若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是()。

A. p=q; B. *p=*q; C. a=*q; D. q=a;

答案:D

27.若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。

A. *(a+1) B. *(a[1]+2)

C. a[1]+3 D. a[0][0]

答案:A

29.以下对C语言中共用体类型数据的叙述正确的是( )。

A. 可以对共用体变量名直接赋值

B. 共用体类型定义中不能出现结构体类型的成员

C. 一个共用体变量中不能同时存放其所有成员

D. 一个共用体变量中可以同时存放其所有成员

答案:A

30.若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。

A."wb+" B."r+" C."rb+" D."ab+"

答案:A

第二部分(编程题):

1.判断一个4位数是否为回文数(正读反读都一样的数)?

答案:

#include

int main()

{ int i;

int a,b,c,d;

printf("....\n");

for(i=1000;i<=9999;i++)

{ a=i/1000;

b=i%10;

c=(i/100)%10;

d=(i%100)/10;

if(a==b&&c==d)

printf("%6d",i); }

}

2.输入正整数n,输出n行n列的空心四边形图案。以下是n=4的图案

* * * *

* *

* *

* * * *

答:

#include

int main()

{

int i,j,n;

printf("请输入 n");

scanf("%d",&n);

for(i=1; i<=n; i++)

{

for(j=1; j<=n; j++)

if(i==1 || j==1 || i==n || j==n)

printf("*");

else

printf(" ");

printf("\n");

}

return 0;

}

3.有一个分数序列:2/1,3/2,5/3,8/5,13/8,…..编程求此序列的前20项之和。

答:

#include

int main()

{

int a,b,c,i;

double sum=0;

a=2,b=1;

for(i=0;i<20;i++){

sum+=1.0*a/b;

c=b;

b=a;

a=a+c;

}

printf("%.2lf\n",sum);

return 0;

}

4.从键盘上输入一个百分制成绩S,按下列原则输出其等级:若成绩大于或等于90,则等级为A;若成绩大于等于80,小于90,则等级为B;若成绩大于等于70,小于80,则等级为C;若成绩大于等于60,小于70,则等级为D;若成绩小于60,则等级为E。

答:

#include

void main()

{

int data;

char grade;

printf("Please enter the score:");

scanf("%d”, &data);

switch(data/10) {

case 10:

case 9 : grade=’A’; break;

case 8: grade=’B’; break;

case 7: grade=’C’; break;

case 6: grade=’D’; break;

default: grade=’E’;

}

printf("the grade is %c”,grade);

}

第三部分(简答题):

1. 说明算法可以采用哪几种控制结构组合。

答:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一个算法一般可以用顺序、选择、循环三种基本控制结构,通过顺序或嵌套组合而成。

2. c语言程序的基本单位是什么?它的结构又如何?

答:函数是c语言程序的基本模块单元。

任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如下:[函数类型] 函数名(函数参数表)

{ 说明语句部分;

执行语句部分;

}

3. 分析下面程序的执行过程,给出输出结果。

main( )

{

int x=2,y=3,z=4,a=0;

a = x

printf("%d",a);

}

答:3。a = x

4. 分析下面程序的执行过程,给出输入55时的输出结果。

main( )

{ int a;

int b=33;

scanf("%d",&a);

if(a>50)printf("%d",b);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

答:335555

a=55,a大于50于是执行printf("%d",b),输出b的值,b的值为33,;

接着a大于40,输出a的值,a的值为55;

最后a大于30,输出a的值,a的值为55;

故输出为335555

5. 分析下面程序的执行过程,若键盘输入为5,给出输出结果。

main( )

{ int x=1,a=0,b=0;

switch(x){

case 0:b++;

case 1:a++;

case 2:a++;

b++;

}

printf("a=%d, b=%d",a,b);

}

答:a=2, b=1

6. 分析下面程序的执行过程,给出结果说明break和continue的区别。

main( )

{ int a=1,b;

for(b=l;b<10;b++)

{ if(b < 7)

{ a = 1;

continue;

}

if(b == 8) a++;

if(b > 8) break;

a++;

}

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

}

答:4

7. 分析下面程序的执行过程,给出输出结果。

main( )

{ int a=10 ;

if(a++>10)

print("%d\n",++a);

else

print("%d\n",a--);

}

答:10

8. 分析下面程序的执行过程,给出输出结果。

main( )

{ int i=0,s=0;

do{

if(i%2)

{i++; continue;}

i++;

s+=i

}while(i<7)

print("%d\n",s);

}

;

答:16

举报/反馈

这篇关于c语言程序设计框架题,东北大学C语言程序设计复习题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829387

相关文章

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1