当前位置:网站首页>Langue C - quelques exercices classiques de langue C
Langue C - quelques exercices classiques de langue C
2022-07-23 10:12:00 【Les cheveux n'ont pas beaucoup de code】
Exercices1 Le plus petit nombre d'étapes de la série Fibonacci
FibonacciC'est comme ça que les tableaux sont définis:
F[0] = 0
F[1] = 1
for each i ≥ 2: F[i] = F[i-1] + F[i-2]
Donc,,FibonacciLa séquence est comme:0, 1, 1, 2, 3, 5, 8, 13, ...,InFibonacciLes nombres dans les colonnes sont appelésFibonacciNombre.Pour toiN,Tu veux en faire unFibonacciNombre,À chaque étape, vous pouvez mettre les chiffres actuelsXDevientX-1OuX+1,Je vais te donner un numéroNTrouver le nombre minimum d'étapes nécessaires peut devenirFibonacciNombre.Description des entrées:
Saisissez un entier positifN(1 ≤ N ≤ 1,000,000)
Description des produits:
La sortie d'un nombre minimum d'étapes devientFibonacciNombre"
(Trouver un nombre et le plus petit nombre d'étapes d'un élément dans la séquence Fibonacci)
Cliquez ici,Saut à la question
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=0;
int b=1;
int c=a+b;
int n;
scanf("%d",&n);
while(1)
{
if(a==n||b==n)
{
printf("%d",0);
break;
}
else
{
if(n>a&&n<b)
{
if(abs(n-a)>abs(b-n))
printf("%d",abs(n-b));
else
printf("%d",abs(n-a));
break;
}
}
a=b;
b=c;
c=a+b;
}
return 0;
}absFonctions
Fichier d 'en - tête#include<stdlib.h>
int abs(int x)x -- Valeur complète
Valeur de retour:Cette fonction renvoie x Valeur absolue de
Exercices2 Remplacement des espaces
Veuillez implémenter une fonction,Remplacer chaque espace dans une chaîne par“%20”.Par exemple,Quand la chaîne estWe Are Happy.La chaîne remplacée estWe%20Are%20Happy.
class Solution {
public:
void replaceSpace(char *str,int length) {
int i=0;
int count=0;
while(str[i]!='\0')
{
if(str[i]==' ')
{
count++;
}
i++;
}
i=length-1;
int j=length-1+count*2;
for(i=length-1,j=length-1+count*2;i>0,j>0;i--,j--)
{
if(str[i]!=' ')
str[j]=str[i];
else
{
str[j--]='0';
str[j--]='2';
str[j]='%';
}
}
}
};Comment résoudre le problème: Calculez d'abord le nombre d'espaces , Chaque espace est ensuite modifié en 3Caractères, Cela signifie que deux caractères sont ajoutés à chaque espace , Nombre d'espaces *2, Ensuite, ajoutez cette longueur à l'arrière du tableau ( Allongez le tableau ), Et puis commencer à traverser d'avant en arrière , Convertir sur demande après avoir rencontré un espace
Choix des questions
Première question unsigned char Examen de la plage de valeurs
#include<stdio.h> int main(){ unsigned char i = 7; int j = 0; for(;i > 0;i -= 3){ ++j; }p rintf("%d\n", j); return 0; }Quelle est la sortie du programme ()
A 2
B Cycle mort
C 173
D 172Explication du problème:unsigned charPlage de valeurs0-255
iPlage de variation:7,4,1,254-2(Au milieujPlus maintenant.84Une fois,2Quandj Encore une fois, c'est 85Une fois),255-0(Au milieujPlus maintenant.85Une fois)
Deuxième question Opérations de bits
L'une des options suivantes doit permettre deflagLe deuxièmebitPosition0() A.flag&=~2 B.flag|=2 C.flag^=2 D.flag>>=2A 2Binaire de0010
Après avoir pris le non 1100
Le deuxièmebitBitwise0, Avec n'importe quel nombre et le résultat est 0
L'une des options suivantes doit permettre deflagLe deuxièmebitPosition0()
int fun(int a){ a^=(1<<5)-1; return a; }F(21)Les résultats de
A.10B.5C.3D.8A,1Binaire de000001
Cinq à gauche 100000
Moins1 011111
Et21XOR 010101
001010
Les résultats sont les suivants:10
Question n° 3 Conversion de cas
#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); }p rintf("\n"); return 0; }Le programme suivant s'exécute,Si vous entrez1abcedf2df<Retour à la voiture>Le résultat est()
A.1abcedf2dfB.1ABCEDF2DFC.1AbCeDf2dFD.1abceDF2DFC, Le titre convertit les caractères minuscules en majuscules , Et cette lettre ASCII La valeur du Code ne peut pas être 2Nombre entier de fois de
Question n° 4 Alignement de la mémoire structurelle
struct One{ double d; char c; int i; } struct Two{ char c; double d; int i; }Les deux structures suivantes
In#pragma pack(4)Et#pragma pack(8)Dans le cas de,Les dimensions des structures sont respectivement()
A.16 24,16 24B.16 20,16 20C.16 16,16 24D.16 16,24 24A
Question 5 Cycle
int x = 1; do{ printf("%2d\n",x++); }while(x--);
A.1B.Aucune sortieC.2D.Dans le cycle de la mortD
Question 6 Opération
#include<stdio.h> #include<stdlib.h> void main() { int a = -3; unsigned int b = 2; long c = a + b; printf("%ld\n", c); }
A.-1B.4294967295C.0x7FFFFFFFD.0xFFFFFFFFA
Question 7 Fonctionnement du pointeur
Avec définitionchar *p[]={"Shanghai","Beijing","Honkong"};Le résultat estjL'expression du caractère est
A.*p[1] +3B.*(p[1] +3)C.*(p[3] +1)D.p[3] [1]B
À propos de"Pointeur"La description incorrecte de()
A.Lorsqu'il est utiliséfreeAprès avoir libéré le contenu d'un pointeur,La valeur de la variable pointeur est définie àNULLB.32La longueur de n'importe quel type de pointeur sous le système bit est4OctetsC.Le type de données du pointeur indique le type de données que le pointeur pointe réellement vers le contenuD.Un pointeur sauvage est un pointeur vers une adresse mémoire non assignée ou déjà libéréeA
Question 8 Récursion de la fonction
int f(int x){ return ((x>2) ? x*f(x-1) : 3); } int i; i=f(f(2));
Après avoir exécuté la fonction ci - dessus . iLa valeur de()
A.30B.Récursion infinieC.9D.2160C
Question 9 Tableau bidimensionnel
int p[][4] = { {1}, {3, 2}, {4, 5, 6}, {0}};Moyenne,p[1][2]La valeur de()
A.1B.0C.6D.2B
Question 10 Macro - définition
À propos deC/C++Macro - définition pour,C'est faux.()
A. La définition de macro ne vérifie pas l'exactitude des paramètres ,Il y aura des risques pour la sécuritéB. Les constantes définies par macro sont plus faciles à comprendre , Si vous pouvez utiliser des macros pour définir des constantes ,Évitez l'utilisationconstConstanteC. Trop de définitions imbriquées de macros peuvent affecter la lisibilité du programme ,Et c'est facile de faire des erreurs.D. Par rapport à l'appel de fonction , La macro - définition peut améliorer l'efficacité du programmeAvec les définitions de macro suivantes:
#define N 3+1
#define Y(n) ((N+1)*n)
Exécutez l'instruction z=2*(N+Y(5+1))Après,z La valeur de()
A.60B.190C.248D. Aucune des réponses ci - dessus n'est correcteA
Question 11 Compilation du programme
Composé de plusieurs fichiers sourcesCProcédure,édité、Prétraitement、Compiler、Les étapes telles que le lien produisent l'exécutable Final.Laquelle des étapes suivantes peut découvrir que la fonction appelée n'est pas définie()
A.PrétraitementB.CompilerC.LiensD.Mise en œuvreC
Question n° 12 Conversion implicite
char a; int b; float c; double d;Alors l'expression a*b+d-c Le type de valeur est()
A.floatB.intC.charD.doubleD
边栏推荐
- jeecgboot 导入文档
- 时间序列-数据集:电力变压器数据集 (ETDataset)
- What level is GF futures? Is the account opening safe and reliable?
- 【PyTorch】cuda()与to(device)的区别
- Arcgis 计算两个栅格图层相关性
- Reverse pairs in an array
- Kill a process on Linux
- Interviewer: explain the core principle of ThreadLocal
- 十年架构五年生活-05第一次出差
- 网络通信原理与IP地址的分配原理,网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
猜你喜欢

Comprehensive summary of software quality management practice

Technology sharing | big transaction blocking show master status
![[learning notes] node -- from 0 foundation to actual enterprise official website](/img/5e/c20e0aa0ad3f71fa5064ec9aca4ce7.jpg)
[learning notes] node -- from 0 foundation to actual enterprise official website

error MSB4181: “QtRunWork”任务返回了 false,但未记录错误

Learn and understand Architecture Design from business development

用现代化的开发方法和思维,打跑遗留系统“拦路虎”

如何在OneFlow中新增算子

数学向量基本知识

七大排序--万字详解

What is the experience of writing concurrent tool classes (semaphore, cyclicbarrier, countdownlatch) by yourself in line 30?
随机推荐
深入理解MVCC与BufferPool缓存机制
C语言——几道C语言经典习题
60 open-ended test questions, recite them and get a pay rise directly
PHP converts pictures to Base64 format and restores them to generate pictures
Can Huatai Securities open an account by itself? Is it safe? How long will it take to finish
[BDSec CTF 2022] 部分WP
[notes on the practice of node middle tier (I)] -- building the project framework
This tool complements the last kilometer of JMeter performance analysis
Deeply understand mvcc and bufferpool caching mechanism
【MySQL】游标「Cursor」
这个工具,补齐了 JMeter性能分析最后一公里短板
Is the sub database and sub table really suitable for your system? Talk about how to select sub databases, sub tables and newsql
软考 系统架构设计师 简明教程 | 逆向工程
Airtest脚本的点击位置与点击偏移
范式及反范式
Reverse pairs in an array
What level is GF futures? Is the account opening safe and reliable?
时间序列-数据集:电力变压器数据集 (ETDataset)
jeecgboot 导入文档
PHP RSA generates public key and private key PSA2 encryption and decryption