c初阶检测题(上)

简介: c初阶检测题(上)

选择题

1.局部变量的作用域是:(D)

A.main函数内部

B.整个程序

C.main函数之前

D.局部变量所在的局部范围

2.字符串的结束标志是:(A)

作业内容

A.是’0’

B.是EOF

C. 是’\0’

D.是空格

3.下面那个不是转义字符?(C)

A.‘\n’ //‘\n’ 转义字符,代表换行

B.‘\060’ //‘\060’ 转义字符,060八进制数据,十进制为48,表示ASCII码为48的’0’

C.‘\q’ //‘\q’ 什么都不是

D.‘\b’ //‘\b’ 转义字符,表示退格

4.下面代码的结果是:( C)

#include <stdio.h>
#include <string.h>
int main()
{
    char arr[] = {'b', 'i', 't'};
    printf("%d\n", strlen(arr));
  return 0;
}

A.3

B.4

C.随机值 strlen函数是以’\0’为停止标识符,在arr数组中没有碰到,自然向后随机读取至’\0’

D.5

5.下面代码输出的结果是:( B )

#include <stdio.h>
int num = 10;
int main()
{
    int num = 1;
    printf("num = %d\n", num);
  return 0; 
}

A. 程序有问题,不能编译

B.输出1

C.输出10

D.输出0

本题主要考察变量的访问规则,C语言中:

  1. 不允许在同一个作用域中定义多个相同名称的变量
  2. 允许在不同的作用域中定义多个相同名称的变量
  3. 不同作用域中定义的变量,在访问时采用就近原则。

6.下面程序的结果是:( A)

#include <stdio.h>
#include <string.h>
int main()
{
    printf("%d\n", strlen("c:\test\121"));
    return 0;
}

A.7

B.8

C.9

D.10

c:\test\121,来逐步分析c是1个,:2个,\t3个,est6个,\121(八进制数字)7个。

7.关于C语言关键字说法正确的是:( B )

A.关键字可以自己创建

B.关键字不能自己创建

C.关键字可以做变量名

D.typedef不是关键字

8.用在switch语言中的关键字不包含哪个?(A )

A.continue

B.break

C.default

D.case

9.关于数组描述错误的是:(B)

A.数组是一组相同类型元素的集合

B.数组的下标是从1开始的

C.数组的下标是从0开始

D.数组如果初始化,可以不指定数组的大小

10.C语言中下面哪个数组的创建错误的:( B)

A.int arr[10] = {0}

B.int n = 10; int arr[n] ={0} // 对c语言来讲,数组的大小必须是常量

C.int arr[] = {1,2,3,4,5,6,7,8,9,0}

D.char ch[10] = “hello bit”

11.下面哪个不是关键字:( C)

A.int

B.struct

C.define // 定义标识符

D.continue

12.下列程序执行后,输出的结果为(B)

#include <stdio.h>
int cnt=0;
int fib(int n){
  cnt++;
  if(n==0)
    return 1;
  else if(n==1)
    return 2;
  else
    return fib(n-1)+fib(n-2);
}
void main()
{
  fib(8);
  printf("%d",cnt);
}

A. 41

B. 67

C. 109

D. 177

这道题很明显就是问这个fib函数一共被调用了多少次,来具体分析一下就可以了。

把数一下有多少个数字就知道答案是多少了,很明显答案是67。

13.在上下文和头文件均正常情况下,以下程序的输出结果是()

int x = 1;
do{
 printf("%2d\n",x++);
}while(x--);

A. 1

B. 无任何输出

C. 2

D. 陷入死循环

这个很简单先使用那么打印的1,该语句过后x变为2,先判断while条件为2,后使用变为1,之后再次先使用打印的为1,该语句过后为2,之后判断条件又为2,判断后变为1,所以这段代码是在死循环的打印“01”。

14.下面的代码段中,执行之后 i 和 j 的值是什么(C)

int i=1;
int j;
j=i++;

A. 1,1

B. 1,2

C. 2,1

D. 2,2

这里i的值先使用赋给j,所以j为1,这条语句执行完i变为2,所以很明显答案是2,1。

15.以下程序的k最终值是(A)

int i = 10;
int j = 20;
int k = 3;
k *= i + j;

A. 90

B. 50

C. 70

D. 30

最后一条语句的意思可以理解为最后的k=k*(i+j),所以k=90

目录
相关文章
|
9月前
|
安全 数据挖掘 大数据
开放、兼容的数据建设与治理平台——瓴羊Dataphin“进化论” |【瓴羊数据荟】数据MeetUp第三期
Dataphin的技术架构与实践路径,涵盖多引擎兼容、混合云架构、统一资产消费等方面,Dataphin通过持续升级,帮助企业实现全生命周期的数据资产管理,助力企业在大模型时代更好地“建好数据”、“用好数据”。
481 87
开放、兼容的数据建设与治理平台——瓴羊Dataphin“进化论” |【瓴羊数据荟】数据MeetUp第三期
|
9月前
|
小程序 API 开发工具
Mpay: 真的找到啦,后台一直有同学想要解决个人免签收款的问题,这款专注于个人免签收款,轻量级且高效的支付解决方案
嗨,大家好,我是小华同学。mpay是一个基于微信支付官方SDK封装的库,简化了微信支付集成过程,支持公众号、扫码、小程序支付等场景。它提供简洁API、全面错误处理和灵活配置选项,适用于电商网站、线下实体店和移动应用,提升支付体验和运营效率。
345 58
|
11月前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
9月前
|
Linux Shell 开发者
OS Copilot初体验
作为一名个人开发者,我主要从事云资源的运维和管理。最近体验了OS Copilot的-t/-f/管道功能,其中-f功能显著提升了编写bash脚本的效率,例如快速查找深圳罗湖区的行政编码。管道功能则帮助我更好地理解Linux相关知识,如内核参数。安装时遇到环境变量配置提示问题,但不影响使用。建议优化结果显示效果,以提高终端阅读体验。
|
存储 Linux 图形学
深度探索Linux操作系统 —— Linux图形原理探讨1
深度探索Linux操作系统 —— Linux图形原理探讨
314 7
|
前端开发 容器
【CSS Flexbox 探秘】弹性盒模型:揭秘网页布局的终极神器!
【8月更文挑战第25天】Flexbox 是 CSS3 中的关键特性,为网页设计提供了强大的布局能力。本文通过问答形式全面解析 Flexbox 的核心概念与属性,包括容器与项目属性,并通过示例演示如何使用 Flexbox 实现水平与垂直居中、等间距布局及响应式设计。相较于传统布局方法,Flexbox 更加灵活且简化了样式设置,同时在现代浏览器中拥有良好的支持度。掌握 Flexbox 对于提升网页布局效率至关重要。
228 1
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的在线招聘平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线招聘平台的详细设计和实现(源码+lw+部署文档+讲解等)
162 7
|
人工智能 API
KV cache复用与投机采样问题之优化投机采样中的采样流程如何解决
KV cache复用与投机采样问题之优化投机采样中的采样流程如何解决
217 0
|
安全 Java Spring
springboot @Resource、@AutoWaire的用法实战
【4月更文挑战第3天】在Spring Boot中,@Autowired和@Resource注解都用于自动注入依赖,但它们在底层工作方式和使用的场合上存在一些差异。理解这些差异有助于更有效地使用Spring框架。
608 1
|
Kubernetes 负载均衡 安全
ECI Pod概述
ECI能为Kubernetes提供基础的容器Pod运行环境
536 5