二级C语言笔试6

(总分100,考试时间90分钟)
一、选择题
1. 设有以下语句: 
     charx=3,y=6,z; 
    z=x^y<<2; 
    则z的二进制值是(    )。
A. 00010100         B. 00011011
C. 00011100         D. 00011000
2. 以下有关宏的描述不正确的是(    )。
A. 宏定义不做语法检查         B. 双引号中出现的宏名不进行替换
C. 宏名无类型         D. 宏名必须用大写字母表示
3. 程序设计的任务包括(    )。
A. 编写程序代码并上机调试         B. 确定所用数据结构
C. 确定所用算法         D. 以上选项均正确
4. 有以下程序 
    #include<stdio.h> 
    main() 
    int k=5,n=0; 
    while(k>0) 
    switch(k) 
    defhult:break; 
    case 1:n+=k: 
    case 2: 
    case 3:n+=k; 
     
    k--; 
     
    printf("%d\n",n); 
     
    程序运行后的输出结果是
A. 0         B. 4
C. 6         D. 7
5. 以下程序的运行结果是(    )。 
    #include<stdio.h> 
    main() 
   int a=3,b=4,c=8,d=4,m=1,n=3; 
    printf("%d\n",(m=a>b)&&(n=c>d)); 
    
A. 0         B. 1
C. 2         D. 3
6. 下列选项中,不属于数据模型所描述的内容的是(    )。
A. 数据类型         B. 数据操作
C. 数据结构         D. 数据约束
7. 下列说法正确的是(    )。
A. auto和register将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外
B. 将变量其定义为static类型,则其初值默认为随机值
C. typedef说明符并不会为对象预留存留空间
D. 如果一个对象被声明为register,则埘它应用一元运算符&,意征取得其存储的地址
8. 若已包括头文件<stdio.h>和<string.h>,运行下面程序的输出结果是(    )。 
    chars1[10]="12345",s2[10]="089",s3[]="67"; 
    strcat(strcpy(s1,s2),s3); 
    puts(s1);
A. 08967         B. 0894567
C. 089567         D. 089567
9. 设y为整型变量,a=6,a的地址为E2000,b=14,b的地址为E2001;执行语句b=&a;y=&a;后Y的值为(    )。
A. E2000         B. E2001
C. 6         D. 14
10. 设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是(    )。
A. (EXP==0)         B. (EXP!=0)
C. (EXP==1)         D. (EXP!=1)
11. 有下列程序: 
    main() 
    int m,n,p; 
    scanf("m=%dn=%dp=%d",&m,&n,&p); 
    printf("%d%d%d\n",m,n,p); 
     
    若想从键盘上输入数据,使变量m中的值为123,n中的值为456,P中的值为789, 
    则正确的输入是(    )。
A. m=123n=456p=789         B. m=123 n=456 p=789
C. m=123,n=456,p=789         D. 123 456 789
12. 以下程序段的输出结果为(    )。 
    static char a[]="programme"; 
    char*p; 
    p=a; 
    for(p=a;p<a+8;p+=2) 
    putchar(*p);
A. programme         B. porm
C. 有语法错误         D. prog
13. 以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。 
    #define MAX 2147483647 
    int findmin(int x[],int n) 
    int i,min; 
    min=MAX; 
    for(i=0;i<n;i++) 
    if(min<x[i])min=x[i]; 
     
    造成错误的原因是(    )。
A. 定义语句int i,min;中min未赋初值
B. 赋值语句min=MAN;中,不应给min赋MAX值
C. 语句if(min<X[i])min=X[i];中判断条件设置错误
D. 赋值语句min=MAX;放错了位置
14. 有以下程序 
    #include<stdio.h> 
    main() 
    int y=9; 
    for(;y>0;y--) 
    if(y%3==0)printf("%d",--y); 
     
    程序的运行结粜是(    )。
A. 741         B. 963
C. 852         D. 875421
15. 下列关于C语言数据文件的叙述中正确的是(    )。
A. 文件由ASCII码字符序列组成,C语言只能读写文本文件
B. 文件由二进制数据序列组成,C语言只能读写二进制文件
C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
16. 若要求从键盘读入含有窄格字符的字符串,应使用函数(    )。
A. getc()         B. gets()
C. getchar()         D. scanf()
17. 若有以下程序段: 
    struct st 
    int n; 
    int*m: 
    ; 
    int a=2,b=3,c=5; 
    struct st s[3]=(101,&a,102,&c,103,&b); 
    main() 
    struct st*p; 
    p=s; 
     
    则以下表达式中值为5的是(    )。
A. (*p).m         B. *(p+1)->m
C. *(p++)->n         D. (p++)(*m)
18. 线性表常采用的两种存储结构是(    )。
A. 散列方法和索引方式         B. 链表存储结构和数组
C. 顺序存储结构和链式存储结构         D. 线性存储结构和非线性存储结构
19. 在软件生产过程中,需求信息的来源是(    )。
A. 程序员         B. 项目经理
C. 设计人员         D. 软件用户
20. 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(    )。
A. 需求分析         B. 详细设计
C. 软件设计         D. 概要设计
21. 对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为(    )。
A. 并运算         B. 交运算
C. 差运算         D. 积运算
22. 以下程序的输出结果是(    )。 
    int x;int*y;*p; 
    int dt[4]=1,2,3,4; 
    struct st aa[4]=2,&dt[0],3,&dt[0],4,&dt[0],5,&dt[0],; 
    p=aa; 
    pfintf("%d\n",++(p->x)); 
    
A. 1         B. 2
C. 3         D. 4
23. 以下关于long、int和short类型数据占用内存大小的叙述中正确的是(    )。
A. 均占4个字节         B. 根据数据的大小来决定所占内存的字节数
C. 由用户自己定义         D. 由C语言编译系统决定
24. 有以下程序: 
    #include<stdio.h> 
    main() 
    FILE *pf; 
    char*s1="China",*s2="Beijing": 
    pf=fopen("abc.dat","wb+"); 
    fwrite(s2,7,1,pf); 
    rewind(pf);  /*文件位置指针回到文件开头*/ 
    fwrite(s1,5,1,pf); 
    fclose(pf); 
     
    以上程序执行后abc.dat文件的内容是(    )。
A. China         B. Chinang
C. ChinaBeijing         D. BeijingChina
25. 有以下定义和语句: 
    struct students 
    int num;char name[20];char c; 
    struct 
    int grade1;int grade2;s; 
    ; 
    struct students w,*pw; 
    *pw=w; 
    下列赋值语句不正确的是(    )。
A. num=1002;         B. grade1=85;
C. pw->num=1002;         D. s.grade2=85;
26. 有以下程序段 
    int j;float y;  char name[50]; 
    scanf("%2d%f%s",&j,&y,name); 
    当执行上述程序段,从键盘上输入55566 7777abc后,y的值为(    )。
A. 55566.0         B. 566.0
C. 7777.0         D. 566777.0
27. 当a=4,b=5,c=7,d=6时,执行下面一段程序: 
    if(a<b) 
    if(c<d)x=1; 
    else 
    if(a<c) 
    if(b<c)x=2: 
    else x=3; 
    else x=4; 
    else x=5; 
    程序执行后,x的值为(    )。
A. 1         B. 2
C. 3         D. 4
28. 下列工具中,不属于结构化分析的常用工具的是(    )。
A. 数据流图         B. 数据字典
C. 判定树         D. S图
29. 以下选项中,能用作数据常量的是(    )。
A. 018         B. 011
C. 0.8e2.5         D. 25L
30. 在下列叙述中,错误的是(    )。
A. C语言中,二维数组或多维数组是按行存放的
B. 赋值表达式b[1][2]=a[2][3]是正确的
C. char a[1];a[0]='A'与int a[1];a[0]='A'等价
D. 数组名后的方括号内可以为常量表达式,也可以为变量
31. 下列合法的标识符是(    )。
A. 123         B. #256
C. 55         D. abhj1_2_3
32. 下列程序的运行结果是(    )。 
    void fun(int*s,int*p) 
    static int t=3; 
     
    void main() 
    int a[]=2,3,4,5,k,x; 
    printf("%d,",x): 
    
A. 5,4,3,2,         B. 2,3,4,5,
C. 2,2,2,2,         D. 5,5,5,5,
33. 在C语言程序中,以下说法正确的是(    )。
A. 函数的定义和函数的调用均不可以嵌套
B. 函数的定义不可嵌套,但函数的调用可以嵌套
C. 函数的定义可以嵌套,但函数的调用不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
34. 对建立良好的程序设计风格,下面描述正确的是(    )。
A. 程序应简单、清晰、可读性好         B. 符号名的命名只要符合语法
C. 充分考虑程序的执行效率         D. 程序的注释可有可无
35. 数据库的故障恢复一般是由(    )来执行恢复。
A. 电脑用户         B. 数据库恢复机制
C. 数据库管理员         D. 系统普通用户
36. 已知char**S,下面正确的语句是(    )。
A. s="ABCDEF";         B. *s= "ABCDEF";
C. **s="ABCDEF";         D. *s='A';
37. 以下程序运行后的输出结果是(    )。 
    #include<stdio.h> 
    void reverse(int a[],int n) 
    int i,t; 
    for(i=0;i<n/2;i++) 
    t==a[i];a[i]=a[n-1-i];a[n-1-i]=t; 
     
    main() 
    int b[10]=10,9,8,7,6,5,4,3,2,1;int i,s=0; 
    reverse(b,10); 
    for(i=0;i<3;i++)s+=b[i]; 
    printf("%d\n",s); 
    
A. 27         B. 6
C. 25         D. 30
38. 软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和(    )。
A. 阶段性报告         B. 需求分析
C. 需求总结         D. 都不正确
39. 设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是(    )。
A. 1         B. 3
C. 7         D. 9
40. 若变量已正确定义,有以下程序段: 
    i=0; 
    do printf("%d,",i);while(i++); 
    printf("%d\h",i); 
    其输出结果是(    )。
A. 0,0         B. 0,1
C. 1,1         D. 程序进入无限循环
二、填空题
1. 在面向对象方法中,      描述的是具有相似属性与操作的一组对象。
2. 在最坏情况下,堆排序需要比较的次数为      。
3. 数据库系统的三级模式分别为      模式、内模式与外模式。
4. 软件开发环境是全面支持软件开发全过程的      集合。
5. 关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为      。
6. 已知a=1,b=2,则表达式(a&b)&b||b的结果为      。
7. 若int x=1,y=2;则计算表达式y+=y-=x*=y后的y值是      。
以下程序段的运行结果是      。 
    #include<stdio.h> 
    main() 
    int x=2,y=1: 
    switch(x) 
    case 1: 
    switch(y) 
    case 0:printf("x=2,y=1\n");break; 
    case 1:printf("y=1\n");break; 
     
    case 2:printf("x=2\n"); 
     
    
8. 以下程序统计从终端输入的字符中大写字母的个数。用#号作为输入结束标志,请填空。 
    #include<stdio.h> 
    #include<ctype.h> 
    main() 
    int num[26],i;char c; 
    for(i=0;i<26;i++) 
    num[i]=0; 
          ; 
    while(c!='#' 
    if(isupper(c)) 
    num[c-65]+=1; 
    for(i=0;i<26;i++) 
    if(num[i]) 
    printf("%c,%d\n",i+65,num[i]); 
    
9. 以下程序运行后的输出结果是      。 
    struct NODE 
    int k; 
    struct NODE*link; 
    ; 
    main() 
     struct NODEm[5],*p=m,*q=m+4; 
    int i=0: 
    while(p!=q) 
    p->k=++i;p++;q->k=1++;q--; 
     
    q->k=i: 
    for(i=0;i<5;i++)printf("%d",m[i].k); 
    printf("\n"); 
    
10. 下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。 
    main() 
    int a[2][3]=1,2,3,4,5,b[3][2],i,j; 
    for(i=0;i<2;i++) 
    for(j=0;j<3;j++) 
          ; 
     
    
11. 下面程序的输出结果是      。 
    #include<stdio.h> 
    main() 
    static char a[]="china"; 
    char*ptr=a; 
    while(*ptr) 
    printf("%c",*ptr-32); 
    ptr++; 
     
    
12. 下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个元素输出数组b,请填空。 
    main() 
    int a[10],b[10],i; 
    for(i=0;i<10;i++) 
    scanf("%d",&a[i]); 
    for(i=1;i<10;i++) 
          ; 
    for(i=0;i<9;i++) 
    printf("%d",b[i]); 
    if(i%4==0)printf("\n"); 
     
    
13. 下面程序的运行结果是      。 
    #define POW(r)r*r 
    main() 
    int x=2,y=3,t; 
    t=POW(x+y); 
    printf("%d\n",t); 
    
14. 写出下列程序的执行结果。 
    swap(p1,p2) 
    int*p1,*p2; 
    int p; 
    p=*p1;*p1=*p2;*p2=p; 
     
    main() 
    int a,b,*p1,*p2; 
    scanf("%d%d",&a,&b); 
    p1=&a;p2=&b; 
    if(a<b)swap(p1,p2); 
    printf("\na=%d,b=%d\n",a,b); 
     
    若a=7,b=8,则程序的运行结果为      。
 

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

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

相关文章

从Unity到Three.js(画线组件line)

JavaScript 0基础,只是照着官方文档临摹了下,之后有时间再进行细节学习和功能封装。 import * as THREE from three; //引入threejsconst renderer new THREE.WebGLRenderer();//创建渲染器 //设置渲染范围,当前撑满全屏,屏幕左上角是&…

C++类型转化cast from pointer to smaller type ‘int‘ loses information

代码如下 #include <iostream>int main() {int a 10;std::cout << (int)&a << std::endl;return 0; }编译 这段代码是要将地址转化成整数类型&#xff0c;但是在编译时编译器告诉我们这是错的&#xff0c;因为在C中&#xff0c;将指针转换为int类型的…

Spring IoC容器详解

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 基本概念 Spring IoC容器是Spring框架的核心组件&#xff0c;它实现了控制反转&#xff08;Inversion of Control&#xff0c;IoC&#xff09;的设计原则。IoC是一种编程思…

【前端高频面试题--TypeScript篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;前端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 高频前端面试题--Vue3.0篇 什么是TypeScript&#xff1f;TypeScript数据类型TypeScript中命名空…

最关键的十个图像特征

在计算机视觉中&#xff0c;图像特征是用来描述图像中视觉元素的一组属性&#xff0c;它们对于图像识别、分类、检测和分割等任务至关重要。以下是10个在计算机视觉中广泛使用的最重要的图像特征&#xff1a; 颜色直方图&#xff08;Color Histogram&#xff09;&#xff1a; 颜…

Days 27 ElfBoard 板 AltiumDesigner 相同电路快速布局布线

在进行设计开发的时候&#xff0c;总会遇到相同的电路&#xff0c;或者模块&#xff0c;这些电路可以使用相同的布局和走线&#xff0c;例如 DC-DC 电源、网口 PHY 电路部分。这类型的电路&#xff0c;我们可以采用AltiumDesigner 中的 Room 进行布局和布线的快速复制&#xff…

C#系列-并行处理+异步流(5)

一&#xff0c;C#并行处理 在C#中&#xff0c;并行处理指的是同时执行多个任务或操作&#xff0c;以利用多核或多处理器的优势&#xff0c;从而提高应用程序的性能。C#提供了多种工具和框架来帮助开发者实现并行处理。以下是一些在C#中实现并行处理的方法&#xff1a; Paralle…

VitePress-12-markdown中使用vue的语法

前言 VitePress 中&#xff0c;markdown文档最终都会转换成为 html文件&#xff0c;我们在访问的时候&#xff0c;也是直接访问的 xxx.html 文件。而且&#xff0c;markdown文档会被作为 [vue单文件] 进行处理&#xff0c;因此&#xff0c;我们我们可以在文档中使用 vue 语法&…

决策树之scikit-learn

实例 from sklearn.datasets import load_iris from sklearn import tree import matplotlib.pyplot as plt# Load iris dataset iris load_iris() X, y iris.data, iris.target# Fit the classifier clf tree.DecisionTreeClassifier() clf clf.fit(X, y)# Plot the deci…

Linux命令-batch命令(在系统不繁忙的时候执行定时任务)

说明 batch命令 用于在指定时间&#xff0c;当系统不繁忙时执行任务&#xff0c;用法与at相似。 语法 batch(选项)(参数)选项 -f&#xff1a;指定包含具体指令的任务文件&#xff1b; -q&#xff1a;指定新任务的队列名称&#xff1b; -m&#xff1a;任务执行完后向用户发送…

详细介绍Python网络编程模块

根据前面对网络分层棋型的介绍&#xff0c;我们知道实际的网络模型大致分为四层&#xff0c;这四层各有对应的网络协议提供支持&#xff0c; 网络层协议主要是 IP&#xff0c;它是所有互联网协议的基础&#xff0c;其中 ICMP&#xff08;Internet Control Message Protocol&…

烟雨要饭网带后台,附带搭建教程

直接上传访问即可&#xff0c;有安装向导&#xff0c;php环境不得低于7.0 后台地址/Admin&#xff0c;默认账号admin 默认密码123456 自带乞讨音乐&#xff0c;增加樱花特效

域内NAT:如何让内网client通过公网地址访问内网server?

第一步&#xff0c;实现任意公网用户访问内网server。按教育网规矩&#xff0c;公网过来的流量要访问校内网的server必须从教育专线&#xff08;路由器接口G0/0/1)进入。 第二步&#xff0c;实现内网主机通过公网地址210.43.2.3能够访问内网server192.168.1.2&#xff0c;图中①…

C++ 类和对象篇(九) 初始化列表

目录 一、什么是初始化列表&#xff1f; 二、为什么需要初始化列表&#xff1f; 三、初始化列表怎么使用&#xff1f; 3.1 在构造函数中使用初始化列表 3.2 注意 3.3 结论 3.4 应用场景 四、初始化列表的初始化顺序 五、另一种初始化成员变量的方法 【总结 一、什么是初始化列…

12.05 校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流裙 &#xff0c;内推/实习/校招汇总表格 1、校招 | 吉利控股集团2024届全球校园招聘补招岗位发布&#xff08;内推&#xff09; 校招 | 吉利控股集团2024届全球校园招聘补招岗位发布&#xff08;内推&#xff09; 2、校招 | 浪潮科…

【计算机网络】时延,丢包,吞吐量(分组交换网络

时延 结点处理时延(nodal processing delay&#xff09; dproc 排队时延&#xff08;queuing delay&#xff09; dqueue 传输时延&#xff08;transmission delay&#xff09; dtrans 路由器将分组推出所需要的时间&#xff0c;是分组长度和链路传输速率的函数 传播时…

年后时段:内在成长的黄金期

在中华民族的传统习俗中&#xff0c;春节是一年一度辞旧迎新的重要节点&#xff0c;它不仅象征着时间的更迭&#xff0c;更是人们生活、工作与心态调整的重要时刻。本文将深入探讨的是&#xff0c;在过年后这一特定时间段内&#xff0c;人的内在成长往往能得到显著提升的现象。…

【深蓝学院】移动机器人运动规划--第4章 动力学约束下的运动规划--笔记

0. Outline 1. Introduction 什么是kinodynamic&#xff1f; 运动学&#xff08;Kinematics&#xff09;和动力学&#xff08;Dynamics&#xff09;都是力学的分支&#xff0c;涉及物体的运动&#xff0c;但它们研究的焦点不同。 运动学专注于描述物体的运动&#xff0c;而…

906. 区间分组(贪心)

路径&#xff1a;906. 区间分组 - AcWing题库 思路&#xff1a; 可以想到是求区间最厚的地方。 每次输入l,r区间让l*2&#xff0c;r*21存入同一个数组&#xff1b; 注意&#xff1a;当lr时,要先计算左点。 代码: #define _CRT_SECURE_NO_WARNINGS #include<iostream&g…

CS50x 2024 - Lecture 3 - Algorithms

TABLE OF CONTENTS 00:00:00 - Introduction 一种统计班上人数的方法&#xff0c;全部站起来&#xff0c;两两配对&#xff0c;一个坐下&#xff0c;循环 00:01:01 - Overview 00:02:58 - Attendance 00:09:40 - Linear Search 00:24:58 - Binary Search 二分搜索 分而治…