二级C语言笔试10

(总分101,考试时间90分钟)
一、选择题
1. 设有如下关系表:
    
    A) T=R∩S    B) T=R∪S    C) T=R×S    D) T=R/S

2. 在一棵二叉树中,叶子结点共有30个,度为1的结点共有40个,则该二叉树中的总结点数共有(    )个。
    A) 89    B) 93    C) 99    D) 100
3. 某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为      。(假设根结点在第1层)
    A) 3    B) 4    C) 6    D) 7
4. 内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是(    )。 
    A) 顺序内聚    B) 偶然内聚    C) 时间内聚    D) 逻辑内聚
5. 计算机网络的主要特点是      。
    A) 运算速度快    B) 运算精度高    C) 资源共享    D) 人机交互
6. 应用数据库的主要目的是(    )。
    A) 解决数据保密问题    B) 解决数据完整性问题
    C) 解决数据共享问题    D) 解决数据量大的问题
7. 程序中若有如下说明和定义语句:
    char fun(char *);
    main()
    char * s="one", a[5]=0,(* f1)()=fun,ch;
        ┆
    
    以下选项中对函数fun的正确调用语句是(    )。
    A) (* f1)(a);    B) * f1(* s);    C) fun(&a);    D) ch=* f1(s)
8. 阅读以下程序:
    #include<stdio.h>
    main()
     int case;float printF;
      printf("请输入2个数:");
      scanf("%d%f",&case,&printF);
      printf("%d%f\n",case,printF);
    
    该程序在编译时产生错误,其出错原因是(    )。
    A.定义语句出错,case是关键字,不能用做用户自定义标识符
    B.定义语句出错,printF不能用作用户自定义标识符
    C.定义语句无错,scanf不能作为输入函数使用
    D.定义语句无错,printf不能输出case的值
9. 下列程序的运行结果是(    )。
    inty=5,x=14;
    y=((x=3*y,x+1),x-1;
    printf("x=%d,y=%d",x,y);
    A) x=27,y=27    B) x=12,y=13
    C) x=15,y=14    D) x=y=27
10. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是
    A) 函数的实参和其对应的形参共占同一存储单元    B) 形参只是形式上的存在,不占用具体存储单元
    C) 同名的实参和形参占同一存储单元    D) 函数的形参和实参分别占用不同的存储单元
11. 设int x=2,y=1;表达式(!x||y--)的值是(    )。
    A.0    B.1    C.2    D.-1
12. 在Visual FoxPro中,“表”通常是指      。
    A) 表单    B) 报表    C) 关系数据库中的关系D) 以上都不对
13. 若有代数式,(其中P仅代表自然对数的底数,不是变量),则下列能够正确表示该代数式的C语言表达式是(    )。 
    A) sqrt(abs(n^x+e^x))    B) sqrt(fabs(pow(n,x)+pow(x,e))) 
    C) sqrt(fabs(pow(n,x)+exp(x)))    D) sqrt(fabs(pow(x,n)+exp(x)))
14. 若变量已正确说明为float类型,要通过语句scanf("%f %f %f", &a, &b, &c);给a赋于19.0,b赋予22.0,c赋予33.0,不正确的输入形式是      。
    A) 10<回车>
    22<回车>
    33<回车>
    B) 19.0, 22.0, 33.0<回车>
    C) 19.0<回车>
    22.0 33.0<同车>
    D) 10 22<回车>
    33<回车>
15. 下面的for语句的循环次数为(    )。 
    A) 是无限循环    B) 循环次数不定  C) 最多执行6次  D) 最多执行5次
16. 已定义以下函数:
    fun(char*p2,char*p1)
      while((*p2=*p1)!='\0')p1++;p2++
    函数的功能是       。
    A) 将p1所指字符串复制到p2所指内存空间
    B) 将p1所指字符串的地址赋给指针p2
    C) 对p1和p2两个指针所指字符串进行比较
    D) 检查p1和p2两个指针所指字符串中是否有'\0'
17. 设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是      。
(A) float *p=1024;
(B) int *p=(float)x;
(C) float p=&x;
(D) float *p=&x;
18. 以下程序运行后的输出结果是
    #include
    void fun(int P)
     int d=2;
     P=d++; printf("%d", P);
     main()
     int a=1;
     fun(a); printf("%d\n', a);
    
    A) 32    B) 12    C) 21    D) 22
19. 以下正确的函数头定义形式是
    A) double fun(int x,int y)    B) double fun(int x;int y)
    C) double fun(int x,int y);D) double fun(int x,y);
若有以下定义和语句:
    double r=99,*p=&r;*p=r;
    则以下正确的叙述是(    )。
    A.两个*p含义相同,都说明给指针变量p赋值
    B.在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
    C.语句“*p=r;”把变量r的值赋给指针变量p
    D.语句“*p=r;”取变量r的值放回r中
20. 
21. 
22. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(    )。
    A) 函数调用可以作为独立的语句存在    B) 函数调用可以作为一个函数的实参
    C) 函数调用可以出现在表达式中    D) 函数调用可以作为一个函数的形参
23. 以下程序的输出结果是      。
    fun(int x, int Y, int z)
     z=x*x+y*y;
    main()
     int a=31;
      fun(5, 2, a);
      printf("% d", a);
    
    A) 0    B) 29    C) 31    D) 无定值
24. 若有以下定义,则对x数组元素的正确应用是
    int x[10], *pt=x;
    A) *&x[10]    B) *(x+3)    C) *(pt+10)    D) pt+3
25. 若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是      。
(A) a[2][!1]
(B) a[2][3]
(C) a[0][3]
(D) a[1>2][!1]
26. 有以下程序
    #include<stdio.h>
    void fun(char *C)
    while (*C)
     if(*c>='a' && *c<='z')*c=*c-('a'-'A');
    c++;
    
    
    main()
    char s[81];
    gets(s); fun(s); puts(s):
    
    当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是      。
    A) hello Beijing    B) Hello Beijing    C) HELLO BEIJING    D) hELLO Beijing
27. 有以下程序:
    main()
    int i,t[][3]=9,8,7,6,5,4,3,2,1;
    for(i=0;i<3;i++)printf("%d",t[2-i][i]);
    程序执行后的输出结果是      。
    A) 7 5 3    B) 3 5 7
    C) 3 6 9    D) 7 5 1
28. 下列二维数组初始化语句中,不正确的是(    )。
    A) int b[][2]=1,2,3,4,5,6,7;    B) int b[3][5]=0,0,0;
    C) int b[][4]=1,2,3,4,5,6;    D) int b[3][2]=(1,2),(3,4) ,(5,6);
29. 设变量已正确定义,则下列能正确计算f=n!的程序段是(    )。
    A) f=0;
       for(i=1;i<=n;i++)f*=i;
    B) f=1;
       for(i=1;i<n;i++)f*=i;
    C) f=1;
       for(i=n;i>1;i++)f*=i;
    D) f=1;
       for(i=n;i> =2;i--)f*=i;
30. 设有定义:char s[8];int i=O;,以下不能将—行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是      。
        A) gets(s);    B) white((s[i++]=getchar())!='\n');s[i]=\0;
        C) scanf("%s",s);    D) d0scanf("%c",&s[i]);while(s[i++]!='\n';s[i]='\0';
31. 下面程序的输出是      。
         main()
         int x=3,y=6,a=0;
              while(x++!=(y-=1))
                a+=1
                 if(y<x)break;
              
              printf("x=%d,y=%d,=%d\n",x,y,a);
         
        A) x=4,y=4,a=1    B) x=5,y=5,a=1
        C) x=5,y=4,a=3    D) x=5,y=4,a=1
32. 下列二维数组的说明中,不正确的是(    )。
    A) floata[][4]=0,1,8,5,9;    B) inta[3][4];
    C) #define N 5    D) inta[2][9.5];
    float a[N][3];
33. 有以下程序
fun(char p[][10])
  int n=0,i;
for(i=0;i<7;i++)
if(p[i][0]=='T')n++;
return n;
main()
   char str[][10]="Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun";
    printf("%d\n",fun(str));
程序执行后的输出结果是      。
(A) 1
(B) 2
(C) 3
(D) 0
34. 下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。
    
#include<stdio.h>
    void sort(inta[],int n)
   
 int i,j,t;
  
 for(i=0;i<n-1;i++)
    for(j=i+1;<n;j++)
  
  if(a[i]<a[j])
   
 t=a[i];a[i]=a[j];a[j]=t;
    
  
  
  
  main()
   
 int a[10]=1,2,3,4,5,6,7,8,9,10,i;
 
   sort(&a[1],7);
  
  for(i=0;i<10;i++)printf("%d,",a[i]);
 
   
 
   程序运行后的输出结果是(    )。
    A) 1,2,3,4,5,6,7,8,9,10,    B) 10,9,8,7,6,5,4,3,2,1,
    C) 1,8,7,6,5,4,3,2,9,10,    D) 1,2,10,9,8,7,6,5,4,3,
35. 设有定义:char p[]='1','2','3',,*q=p;,以下不能计算出一个char型数据所占字节数的表达是      。
(A) sizeof(p)
(B) sizeof(char)
(C) sizeof(*q)
(D) sizeof(p[0])
36. 有以下程序:
    fun(char p[][10])
      int n=0,i;
    for(i=0;i<7;i++)
    if(P[i][0]=='T')n++;
    return n;
    
    main()
    char str[][10]="Mon","Tue","wed","Thu","Fri","Sat","Sun";
    printf("%d\n",fun(str));
    
    程序执行后的输出结果是      。
    A) 1    B) 2    C) 3   D) 0
37. 有下列程序:
    #include<stdio.h>
    int fun(int x,iny y)
     if(x==y)return(x);
      else return((x+y)/2);
    
    main()
     int a=4,b=5,c=6;
      printf("%d\n",fun(2*a,fun(b,c)));
    
    程序运行后的输出结果是(    )。
    A.3    B.6    C.8    D.12
38. 在C语言中,形参的默认存储类型是      。
    A) auto    B) register    C) static    D) extern
39. 在一个C语言源程序文件中所定义的全局变量,其作用域为(    )。
    A.所在文件的全部范围    B.所在程序的全部范围
    C.所在函数的全部范围    D.由具体定义位置和extern说明来决定范围
40. 如果需要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是(    )。 
    A) fp=fopen("FILE","r");    B) fp=fopen("FILE","a+"); 
    C) fp=fopen("FILE","w+");    D) fp=fopen("FILE","r+");
41. 函数fseek()的正确调用形式是(    )。
    A) fseek(位移量,起始点,文件类型指针);    B) fseek(文件类型指针,位移量,起始点);
    C) fseek(文件类型指针,起始点,位移量);    D) fseek(起始点,位移量,文件类型指针);
二、填空题
42. 在深度为7的满二叉树中,度为2的节点个数为      。
43. 在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间      的信息。
44. 以下程序段的输出结果是            。
   int i=9;
   printf("%o\\n",i);
45. 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、             和处理过程。
46. 在关系A(S, SN, D)和关系B(D, CN, NM)中,A的主关键字是S,B的主关键字是D,则称      是关系A的外码。
47. 以下程序运行后的输出结果是      。 
    main() 
    int a,b,c; 
    a=10;b=20;c=(a/b<1)&&(a%b<1); 
    printf("%d %d %d\n",a,b,c); 
    
48. 已定义char ch='$';int i=1,j;,执行j!=ch&&i++以后,i的值为      。
49. 下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。
    int n=0,c;
    c=getchar();
    while(c!='\n')
      if(      )
    n++;
    
50. 若有如下结构体说明:
       struct STRU  int a,b;charc:double d;
       struct STRU*p1,*p2;  
       请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。               t[20]
51. 有以下程序:
    #include<stdio.h>
    main()
     int a[3][3]=1,2,3,4,5,6,7,8,9;
      int b[2][0],i;
      for(j=0;j<3;i++)b[i]=a[i][2]+a[2][i];
      for(i=0;i<3;j++)printf("%d",b[i]);
      printf("\n");
    
    程序运行后的输出结果是      。
52. 下列程序将二维数组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++)
                  ;
         
    
53. 阅读下列程序,则程序的输出结果为      。
    #include "stdio.h"
    struet ty
     int data;
      char c;;
    main( )
     street ty a=30,'x';
      fun(a);
      printf("%d%c",a.data,a.c);
    fun(struct ty b)
     b.data=20;
      b.c='y';
54. 在宏定义#define PI 3.14159中,用宏名PI代替一个      。
55. 执行以下程序的输出结果是      。
    #include<stdio.h>
    main()
     int i,n[4]=1;
      for(i=1;i<=3;i++)
       n=n[i-1]*2+1;printf("%d",n);)
    
56. 以下程序的输出结果是      。
   #include<stdio.h>
   #define M 5
   #define N M+M
   main()
   int k;
   k=N*N*5;printf("%d\\n",k);
   

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

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

相关文章

【51单片机】AT24C02(江科大、爱上半导体)

一、AT24C02 1.AT24C02介绍 AT24C02是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息 存储介质:E2PROM 通讯接口:12C总线 容量:256字节 2.引脚即应用电路 本开发板AT24C02原理图 12C地址全接地,即全为0 WE接地,没有写使能 SCL接P21 S…

Microsoft Excel 加载数据分析工具

Microsoft Excel 加载数据分析工具 1. 打开 Excel,文件 -> 选项2. 加载项 -> 转到…3. 分析工具库、分析工具库 - VBA4. 打开 Excel,数据 -> 数据分析References 1. 打开 Excel,文件 -> 选项 2. 加载项 -> 转到… ​​​ 3…

不安全的 HTTP请求 漏洞原理以及修复方法

漏洞名称:不安全的HTTP方法、危险的HTTP方法 漏洞描述:不安全的HTTP方法一般包括:TRACE、PUT、DELETE、COPY 等。其中最常见的为TRACE方法可以回显服务器收到的请求,主要用于测试或诊断,恶意攻击者可以利用该方法进行…

【Java程序设计】【C00270】基于Springboot的moba类游戏攻略分享平台(有论文)

基于Springboot的moba类游戏攻略分享平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的游戏攻略分享平台 本系统分为系统功能模块、管理员功能模块、以及用户后台功能模块。 系统功能模块:在平台首…

关闭Ubuntu 默认开启的自动安全更新

简介 Ubuntu 和 Debian 应该从很早版本开始预装unattended-upgrades 包,并开启自动更新有安全问题的软件包。 (最小化安装不会安装此包) 有什么影响? 如果软件包有安全漏洞,Ubuntu发布更新包后会自动安装更新并重启…

【开源】基于JAVA+Vue+SpringBoot的房屋出售出租系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 房屋销售模块2.2 房屋出租模块2.3 预定意向模块2.4 交易订单模块 三、系统展示四、核心代码4.1 查询房屋求租单4.2 查询卖家的房屋求购单4.3 出租意向预定4.4 出租单支付4.5 查询买家房屋销售交易单 五、免责说明 一、摘…

Ocr之TesseractOcr的安装及使用

目录 一、安装环境 二、安装内容 三、安装过程及识别测试 1. 安装过程 2. 程序编写 总结 1. 安装复杂度较低 2. 国外开源Ocr 3. 可设置识别参数 4. 工具类 一、 系统环境windows 10 linux环境也可安装, 可借鉴此篇文章>> | 二、安装内容 Tesseract exe 程序安…

常见的web前端开发框架:Vue.js

常见的Web前端开发框架包括Bootstrap、Vue.js、React.js、Angular.js等。每个框架都有其独特的特点和优势,开发者可以根据项目的需求和个人的喜好来选择合适的框架。同时,随着技术的不断发展,新的框架和工具也会不断涌现,为Web前端…

python学习23

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

数模.matlab符号计算方程

一、符号函数 a:整理简化: b:因式分解: c:多项式展开 d:合并: e:计算分子分母: f:求导: f:差分: g:不定积分&a…

阿里云服务器“带宽计费模式”怎么选?有啥区别?

阿里云服务器带宽计费模式分为“按固定带宽”和“按使用流量”,有什么区别?按固定带宽是指直接购买多少M带宽,比如1M、5M、10M、100M等,阿里云直接分配用户所购买的带宽值,根据带宽大小先付费再使用;按使用…

BYTEVALUE 百为流控路由器远程命令执行漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Mybatis的使用

MyBatis 是一个流行的 Java 持久层框架,它提供了 SQL 映射和对象关系映射的功能,让开发者能够更加便捷地操作数据库。MyBatis 通过 XML 或注解的方式配置 SQL 语句,并将 Java 对象与数据库表进行映射,以简化 JDBC 的复杂操作。以下…

单片机接收PC发出的数据

#include<reg51.h> //包含单片机寄存器的头文件 /***************************************************** 函数功能&#xff1a;接收一个字节数据 ***************************************************/ unsigned char Receive(void) { unsigned char dat; …

网络编程项目:电子辞典

项目要求&#xff1a; 登录注册功能&#xff0c;不能重复登录&#xff0c;重复注册。用户信息也存储在数据库中。单词查询功能历史记录功能&#xff0c;存储单词&#xff0c;意思&#xff0c;以及查询时间&#xff0c;存储在数据库基于TCP&#xff0c;支持多客户端连接&#x…

C++引用(内含和指针的对比)

1.引用的概念 概念&#xff1a;引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它和它引用的变量共用一块内存空间。 类型& 引用变量名(对象名) 引用实体&#xff1b;&#xff08;&这个符…

leetcode 394. 字符串解码

本题主要思路是使用两个栈&#xff1a;一个用于存储倍数&#xff08;数字&#xff09;&#xff0c;另一个用于存储解码结果&#xff08;字符串&#xff09;。在遍历输入字符串时&#xff0c;根据不同的字符执行相应的操作&#xff0c;最终得到解码后的字符串。 具体来说&#x…

从零开始实现消息队列(二)

从零开始实现消息队列 .核心API交换机类型持久化网络通信Connection和Channel 消息应答模块划分 . 核心API 对于Broker来说,要实现以下核心API,通过这些API来实现消息队列的基本功能. 创建队列(queueDeclare)销毁队列(queueDelete)创建交换机(exchangeDeclare)销毁交换机(exc…

Duilib List 控件学习

这是自带的一个示例; 一开始运行的时候List中是空的,点击Search按钮以后就填充列表框; 先看一下列表框列头是在xml文件中形成的; <List name="domainlist" bkcolor="#FFFFFFFF" ... menu="true"> <ListHeader height="24…