c进阶测试题(上)

简介: c进阶测试题(上)

选择题

1.请问该程序的输出是多少(C)

#include<stdio.h>
int main(){
 unsigned char i = 7;
 int j = 0;
 for(;i > 0;i -= 3){
++j;
 }
printf("%d\n", j);
 return 0;
}

A. 2

B. 死循环

C. 173

D. 172

首先unsigned char型是不会为负数,那这个题的意思就是看i=7是一直进行-3操作,j++,打印j,最后i=0,此时j等于几,那么我们直接来分析一下。

就是这样一个循环那么i=7进行减等操作,即为n个256+7整除3即可(n为最小值,0也是一个数,不要忽略了),得出的答案是173。

2.以下程序运行时,若输入1abcedf2df<回车>输出结果是(C)

#include <stdio.h>
int main() {
 char a = 0, ch;
 while ((ch = getchar()) != '\n') {
 if (a % 2 != 0 && (ch >= 'a' && ch <= 'z')
  ch = ch - 'a' + 'A';
 a++;
 putchar(ch);
 }
 printf("\n");
 return 0;
}

A. 1abcedf2df

B. 1ABCEDF2DF

C. 1AbCeDf2dF

D. 1abceDF2DF

所以在1,3,5,7,9下标的字母会变成大写。

3.以下哪个选项一定可以将flag的第二个bit置0(A)

A. flag&=~2

B. flag|=2

C. flag^=2

D. flag>>=2

这个就不过多解释了,很简单的一道题,如果不清楚可以看作者的原反补码

4.下面两个结构体

struct One{
double d;
char c;
int i;
}
struct Two{
char c;
double d;
int i;
}

在#pragma pack(4)和#pragma pack(8)的情况下,结构体的大小分别是(C)

A. 16 24,16 24

B. 16 20,16 20

C. 16 16,16 24

D. 16 16,24 24

我们先看pack为4 的情况

这个是结构体1的情况,默认对齐数是4,所以每个变量放到4的整数倍即可,可以知道此时的结构体内存大小是16

这个是结构体2的情况

因为默认对齐数是4,所以每个变量放到4的整数倍即可,可以知道此时的结构体内存大小是16

接下来看pack为8的情况:

结构体1:

依然是16

结构体2:

用了19个字节,应该为8的整数倍所以是24.

目录
相关文章
|
5月前
|
C语言 C++ 编译器
C++入门攻略
C++入门攻略在代码中引用的格式:类型& 引用变量名(对象名) = 引用实体; 5.2 引用的特性: #include<stdio.h>
C++入门攻略
|
C++
c进阶测试题(下)
c进阶测试题(下)
91 0
|
移动开发 前端开发 Linux
进阶攻略|前端完整的学习路线
进阶攻略|前端完整的学习路线
220 0
|
Linux 数据安全/隐私保护
【转】阿里云服务器入门使用流程 新手学习教程
一、阿里云根据个人需要选合适的云服务器,选好cpu、内存、带宽,地域,这四个是主要的。其他可以默认选择。
5525 1
【转】阿里云服务器入门使用流程 新手学习教程
|
机器学习/深度学习 弹性计算 JavaScript
最新阿里云服务器配置选择教程(图文并茂)
最新阿里云服务器配置选择教程(图文并茂),阿里云服务器配置怎么选择?根据实际使用场景选择,个人搭建网站可选1核2G配置,访问量大的话可以选择2核4G配置,企业部署Java、Python等开发环境可以选择2核8G配置,企业数据库、Web应用或APP可以选择4核8G配置或4核16G配置。阿里云服务器详解阿里云服务器配置选择,不同使用场景、不同用户群云服务器CPU内存配置选择方法:
293 0
|
弹性计算 Apache 数据安全/隐私保护
新手小白的ECS之路
一些ECS使用体验以及感想
103 0
新手小白的ECS之路
|
算法 搜索推荐 Java
蓝桥杯攻略大全 | 学习路线 | 注意事项
蓝桥杯的攻略大全加经验,助你蓝桥杯路上畅通无阻
730 2
蓝桥杯攻略大全 | 学习路线 | 注意事项
|
数据安全/隐私保护
阿里云入门使用
设置阿里云服务器登录密码
86 1
阿里云入门使用
|
弹性计算 关系型数据库 MySQL
ECS七天实践进阶训练营第三天学习
ECS七天实践进阶训练营第三天学习
193 0
ECS七天实践进阶训练营第三天学习
|
弹性计算
ECS七天实践进阶训练营第二天学习
ECS七天实践进阶训练营第二天学习
444 0
ECS七天实践进阶训练营第二天学习